<SEC-DOCUMENT>0000851205-18-000013.txt : 20180730
<SEC-HEADER>0000851205-18-000013.hdr.sgml : 20180730
<ACCEPTANCE-DATETIME>20180730160751
ACCESSION NUMBER:		0000851205-18-000013
CONFORMED SUBMISSION TYPE:	10-Q
PUBLIC DOCUMENT COUNT:		74
CONFORMED PERIOD OF REPORT:	20180701
FILED AS OF DATE:		20180730
DATE AS OF CHANGE:		20180730

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

	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-712018x10q.htm
<DESCRIPTION>10-Q
<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 2018 Workiva -->
		<title>Document</title>
	</head>
	<body style="font-family:Times New Roman;font-size:10pt;">
<div><a name="s07B4F612107A5622BE3AC75089B25EC5"></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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:5px;text-align:center;font-size:11pt;"><font style="font-family:Arial;font-size:11pt;font-weight:bold;">UNITED STATES</font></div><div style="line-height:120%;text-align:center;font-size:11pt;"><font style="font-family:Arial;font-size:11pt;font-weight:bold;">SECURITIES AND EXCHANGE COMMISSION</font></div><div style="line-height:120%;text-align:center;font-size:11pt;"><font style="font-family:Arial;font-size:11pt;font-weight:bold;">WASHINGTON, D.C. 20549</font><font style="font-family:Arial;font-size:11pt;">&#160;</font></div><div style="line-height:120%;text-align:center;font-size:22pt;"><font style="font-family:Arial;font-size:22pt;font-weight:bold;">FORM 10-Q</font><font style="font-family:Arial;font-size:22pt;">&#160;</font></div><div style="line-height:120%;padding-top:16px;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">(Mark One)</font></div><div style="line-height:120%;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;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:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="padding-top:2px;text-align:right;text-indent:32px;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">[ X ]</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:9pt;"><font style="font-family:Arial;font-size:9pt;">Quarterly Report pursuant to Section&#160;13 or 15(d) of the Securities Exchange Act of 1934 for the quarterly period ended July 1, 2018 or</font></div></td></tr></table></div></div><div style="line-height:120%;text-align:left;font-size:9.5pt;"><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:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;">[&#160;&#160;&#160;&#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:9pt;"><font style="font-family:Arial;font-size:9pt;">Transition Report pursuant to Section&#160;13 or 15(d) of the Securities Exchange Act of 1934 for the transition period from __________ to __________</font></div></td></tr></table></div></div><div style="line-height:120%;text-align:left;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;font-weight:bold;">&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;</font></div><div style="line-height:120%;text-align:center;font-size:9.5pt;"><font style="font-family:Arial;font-size:9.5pt;font-weight:bold;">Commission File Number 001-34218</font></div><div style="line-height:120%;text-align:center;font-size:17pt;"><font style="font-family:Arial;font-size:17pt;font-weight:bold;">COGNEX CORPORATION</font></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;"><font style="font-family:Arial;font-size:9pt;">(Exact name of registrant as specified in its charter)</font></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;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Massachusetts</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:9pt;"><font style="font-family:Arial;font-size:9pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">04-2713778</font></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;"><font style="font-family:Arial;font-size:9pt;">(State or other jurisdiction of</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">incorporation or organization)</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:9pt;"><font style="font-family:Arial;font-size:9pt;">&#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:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">(I.R.S. Employer</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Identification No.)</font></div></td></tr></table></div></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">One Vision Drive</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Natick, Massachusetts 01760-2059</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(508) 650-3000</font></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;"><font style="font-family:Arial;font-size:8pt;">(Address, including zip code, and telephone number, including area code, of principal executive offices)</font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:8px;text-indent:32px;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">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;</font></div><div style="line-height:120%;padding-top:8px;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;"><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:8pt;"><font style="font-family:Arial;font-size:8pt;">Yes</font></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:8pt;"><font style="font-family:Arial;font-size:8pt;">X</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;&#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:8pt;"><font style="font-family:Arial;font-size:8pt;">No</font></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:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;&#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;&#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></tr></table></div></div><div style="line-height:120%;padding-top:10px;text-indent:32px;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">Indicate by check mark whether the registrant has submitted electronically and posted on its corporate web site, if any, every Interactive Data File required to be submitted and posted 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 and post such files).</font></div><div style="line-height:120%;padding-top:10px;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;"><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:8pt;"><font style="font-family:Arial;font-size:8pt;">Yes</font></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:8pt;"><font style="font-family:Arial;font-size:8pt;">X</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;&#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:8pt;"><font style="font-family:Arial;font-size:8pt;">No</font></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:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;&#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;&#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></tr></table></div></div><div style="line-height:120%;padding-top:10px;text-indent:32px;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">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):</font></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;"><font style="font-family:Arial;font-size:8pt;">Large&#160;accelerated&#160;filer</font></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:8pt;"><font style="font-family:Arial;font-size:8pt;">X</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;&#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:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Accelerated&#160;filer</font></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="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:8pt;">Non-accelerated filer</font></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="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;&#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:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">(Do not check if a smaller reporting company)</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></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="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:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Smaller&#160;reporting&#160;company</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></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="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:right;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">Emerging growth company</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:4px;padding-left:18px;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">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.</font><font style="font-family:Arial;font-size:9pt;font-weight:bold;">&#32;</font><font style="font-family:Arial;font-size:9pt;font-weight:bold;text-decoration:underline;">______</font></div><div style="line-height:120%;padding-top:8px;text-indent:32px;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">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; </font></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;"><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:8pt;"><font style="font-family:Arial;font-size:8pt;">Yes</font></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="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;&#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:8pt;"><font style="font-family:Arial;font-size:8pt;">No</font></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:8pt;"><font style="font-family:Arial;font-size:8pt;">X</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;&#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></tr></table></div></div><div style="line-height:120%;padding-top:8px;text-indent:32px;font-size:10pt;"><font style="font-family:Arial;font-size:9pt;">As of </font><font style="font-family:Arial;font-size:9pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:9pt;">, there were </font><font style="font-family:Arial;font-size:9pt;">172,032,044</font><font style="font-family:Arial;font-size:9pt;">&#32;shares of Common Stock, $.002 par value per share, of the registrant outstanding.</font><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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr></table></div></div><div><br></div><hr style="page-break-after:always"><div><a name="s42571D799F915414B6D3B4A445A47C7E"></a></div><div><br></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">INDEX</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="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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">PART&#160;I</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;font-weight:bold;">FINANCIAL INFORMATION</font></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="#s13A6D40C751951839289880C1EB357BD">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;"><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;height:5px;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;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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="#s13A6D40C751951839289880C1EB357BD"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Item&#160;1.</font></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;"><font style="font-family:Arial;font-size:10pt;">Financial Statements (interim periods unaudited)</font></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="#s13A6D40C751951839289880C1EB357BD">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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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="#s126A0A8281925D29A8988BA525BFE8CE"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Consolidated Statements of Operations for the three-month and six-month periods ended July 1, 2018 and July 2, 2017</font></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="#s126A0A8281925D29A8988BA525BFE8CE">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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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="#s5253E5E5290152D7B4331FB119582939"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Consolidated Statements of Comprehensive Income for the three-month and six-month periods ended July 1, 2018 and July 2, 2017</font></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="#s5253E5E5290152D7B4331FB119582939">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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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="#sA8141F889AA95DDB84BB70A809D2E685"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Consolidated Balance Sheets as of July 1, 2018 and December 31, 2017</font></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="#sA8141F889AA95DDB84BB70A809D2E685">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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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="#s9D5D5B9BF90151A09DEE69BCCEAC61C2"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Consolidated Statements of Cash Flows for the six-month periods ended July 1, 2018 and July 2, 2017</font></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="#s9D5D5B9BF90151A09DEE69BCCEAC61C2">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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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="#s3A563BA9961E5692981688E791B4827A"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Consolidated Statement of Shareholders&#8217; Equity for the six-month period ended July 1, 2018</font></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="#s3A563BA9961E5692981688E791B4827A">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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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="#sEE162D051C3C50A1AF835AF7B03F18AE"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Notes to Consolidated Financial Statements</font></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="#sEE162D051C3C50A1AF835AF7B03F18AE">8</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;"><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;height:5px;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;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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="#s60B2FD40AA845A6AB506F85BC7895C39"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Item&#160;2.</font></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="#s60B2FD40AA845A6AB506F85BC7895C39"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Management's Discussion and Analysis of Financial Condition and Results of Operations</font></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="#s60B2FD40AA845A6AB506F85BC7895C39">24</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;"><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;height:5px;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;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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="#s876254F14D8C5C898DE43D31E2769472"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Item&#160;3.</font></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="#s876254F14D8C5C898DE43D31E2769472"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Quantitative and Qualitative Disclosures About Market Risk</font></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="#s876254F14D8C5C898DE43D31E2769472">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;"><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;height:5px;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;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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="#s56E3DDE30E475994B34B7C027BCC9999"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Item&#160;4.</font></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="#s56E3DDE30E475994B34B7C027BCC9999"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Controls and Procedures</font></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="#s56E3DDE30E475994B34B7C027BCC9999">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;"><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;height:5px;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;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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="#s3EE7A91E6EC85210AA3D79BE0373E68B"><font style="font-family:Arial;font-size:10pt;font-weight:bold;color:#000000;text-decoration:none;">PART&#160;II</font></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="#s3EE7A91E6EC85210AA3D79BE0373E68B"><font style="font-family:Arial;font-size:10pt;font-weight:bold;color:#000000;text-decoration:none;">OTHER INFORMATION</font></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;"><font style="font-family:inherit;font-size:10pt;">&#160;</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;height:5px;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;height:5px;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;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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="#sB5772F317E895A83BDF41139FBB2C729"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Item&#160;1.</font></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="#sB5772F317E895A83BDF41139FBB2C729"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Legal Proceedings</font></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="#sB5772F317E895A83BDF41139FBB2C729">29</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;"><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;height:5px;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;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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="#s0F588080935559DC8C66517AECECDFEF"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Item&#160;1A.</font></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="#s0F588080935559DC8C66517AECECDFEF"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Risk Factors</font></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="#s0F588080935559DC8C66517AECECDFEF">29</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;"><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;height:5px;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;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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="#sBE6C01DB219753AC94B2BFBFAC24EB94"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Item&#160;2.</font></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="#sBE6C01DB219753AC94B2BFBFAC24EB94"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Unregistered Sales of Equity Securities and Use of Proceeds</font></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="#sBE6C01DB219753AC94B2BFBFAC24EB94">29</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;"><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;height:5px;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;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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="#sA4072C73B8C05C0FB8E5B1E676E13D60"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Item&#160;3.</font></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="#sA4072C73B8C05C0FB8E5B1E676E13D60"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Defaults Upon Senior Securities</font></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="#sA4072C73B8C05C0FB8E5B1E676E13D60">29</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;"><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;height:5px;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;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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="#s8FB46498E95E547EA827AAB012E19062"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Item&#160;4.</font></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="#s8FB46498E95E547EA827AAB012E19062"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Mine Safety Disclosures</font></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="#s8FB46498E95E547EA827AAB012E19062">29</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;"><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;height:5px;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;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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="#s389CB7C5E97A506BA6D0369E024D1464"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Item&#160;5.</font></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="#s389CB7C5E97A506BA6D0369E024D1464"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Other Information</font></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="#s389CB7C5E97A506BA6D0369E024D1464">29</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;"><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;height:5px;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;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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="#sAB96DE484EEC50979F50FE367BAB5972"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Item&#160;6.</font></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="#sAB96DE484EEC50979F50FE367BAB5972"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Exhibits</font></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="#sAB96DE484EEC50979F50FE367BAB5972">30</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;"><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;height:5px;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;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</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="font-size:10pt;"><a style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;" href="#sF73D6F5C8B3556E1BA046DE1A244AB09"><font style="font-family:Arial;font-size:10pt;color:#000000;text-decoration:none;">Signatures</font></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="#sF73D6F5C8B3556E1BA046DE1A244AB09">31</a></div></td></tr></table></div></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">2</font></div></div><hr style="page-break-after:always"><div><a name="s13A6D40C751951839289880C1EB357BD"></a></div><div><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;"><br></font></div></div><div><br></div><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">PART I: FINANCIAL INFORMATION</font></div><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM 1: FINANCIAL STATEMENTS</font></div><div><a name="s126A0A8281925D29A8988BA525BFE8CE"></a></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">CONSOLIDATED STATEMENTS OF OPERATIONS</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(In thousands, except per share amounts)</font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;">&#160;</font><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:57%;"></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="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Three-months Ended</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 colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Six-months Ended</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 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;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">July 1, 2018</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 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;"><font style="font-family:Arial;font-size:9pt;">July 2, 2017</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 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;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">July 1, 2018</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 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;"><font style="font-family:Arial;font-size:9pt;">July 2, 2017</font></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;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">(unaudited)</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 colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">(unaudited)</font></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;"><font style="font-family:Arial;font-size:10pt;">Revenue</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:middle;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">211,264</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:middle;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">178,080</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:middle;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">380,831</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:middle;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">317,119</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Cost of revenue</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">54,169</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 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;"><font style="font-family:Arial;font-size:10pt;">42,164</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">94,367</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 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;"><font style="font-family:Arial;font-size:10pt;">74,696</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Gross margin</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">157,095</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;">135,916</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">286,464</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;">242,423</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Research, development, and engineering expenses</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">26,888</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">23,377</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">57,964</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">46,147</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Selling, general, and administrative expenses</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">66,752</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;">52,518</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">130,449</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;">99,039</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Operating income</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">63,455</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 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;"><font style="font-family:Arial;font-size:10pt;">60,021</font></div></td><td style="vertical-align:bottom;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">98,051</font></div></td><td style="vertical-align:bottom;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 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;"><font style="font-family:Arial;font-size:10pt;">97,237</font></div></td><td style="vertical-align:bottom;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Foreign currency gain (loss)</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(195</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;">(184</font></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;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(329</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;">(447</font></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;"><font style="font-family:Arial;font-size:10pt;">)</font></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;"><font style="font-family:Arial;font-size:10pt;">Investment income</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">3,559</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,138</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">6,799</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,150</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Other income (expense)</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(246</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;">(169</font></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;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">31</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;">101</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Income before income tax expense</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">66,573</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 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;"><font style="font-family:Arial;font-size:10pt;">61,806</font></div></td><td style="vertical-align:bottom;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">104,552</font></div></td><td style="vertical-align:bottom;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 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;"><font style="font-family:Arial;font-size:10pt;">101,041</font></div></td><td style="vertical-align:bottom;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Income tax expense (benefit)</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">10,377</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;">5,311</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">11,139</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;">(925</font></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;"><font style="font-family:Arial;font-size:10pt;">)</font></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;"><font style="font-family:Arial;font-size:10pt;">Net income</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">56,196</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></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: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;"><font style="font-family:Arial;font-size:10pt;">$</font></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;"><font style="font-family:Arial;font-size:10pt;">56,495</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></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: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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">93,413</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></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: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;"><font style="font-family:Arial;font-size:10pt;">$</font></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;"><font style="font-family:Arial;font-size:10pt;">101,966</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;">Net income per weighted-average common and common-equivalent share:</font></div><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Basic</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:middle;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">0.33</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:middle;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.33</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:middle;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">0.54</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:middle;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.59</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Diluted</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">0.32</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></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: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;"><font style="font-family:Arial;font-size:10pt;">$</font></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;"><font style="font-family:Arial;font-size:10pt;">0.32</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></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: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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">0.52</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></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: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;"><font style="font-family:Arial;font-size:10pt;">$</font></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;"><font style="font-family:Arial;font-size:10pt;">0.57</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;">Weighted-average common and common-equivalent shares outstanding:</font></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;"><font style="font-family:Arial;font-size:10pt;">Basic</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">172,370</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;">173,278</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">172,825</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;">172,960</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Diluted</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">177,149</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 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;"><font style="font-family:Arial;font-size:10pt;">179,228</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">178,418</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 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;"><font style="font-family:Arial;font-size:10pt;">178,904</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;">Cash dividends per common share</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">0.0450</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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:middle;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></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;"><font style="font-family:Arial;font-size:10pt;">0.0425</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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:middle;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">0.0900</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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:middle;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></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;"><font style="font-family:Arial;font-size:10pt;">0.0800</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;text-align:center;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;">&#160;</font><font style="font-family:Arial;font-size:10pt;">The accompanying notes are an integral part of these consolidated financial statements.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">3</font></div></div><hr style="page-break-after:always"><div><a name="s5253E5E5290152D7B4331FB119582939"></a></div><div><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;"><br></font></div></div><div><br></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">CONSOLIDATED STATEMENTS OF COMPREHENSIVE INCOME</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(In thousands)</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="16"></td></tr><tr><td style="width:57%;"></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="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Three-months Ended</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 colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Six-months Ended</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 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;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">July 1, 2018</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 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;"><font style="font-family:Arial;font-size:9pt;">July 2, 2017</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 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;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">July 1, 2018</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 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;"><font style="font-family:Arial;font-size:9pt;">July 2, 2017</font></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;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">(unaudited)</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 colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">(unaudited)</font></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;"><font style="font-family:Arial;font-size:10pt;">Net income</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">56,196</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">56,495</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">93,413</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">101,966</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Other comprehensive income (loss), net of tax:</font></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;"><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 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;"><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 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;"><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 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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;">Cash flow hedges:</font></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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;">Net unrealized gain (loss), net of tax of $0 and $7 in the three-month periods and net of tax of $0 and $3 in the six-month periods, respectively</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">59</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(12</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></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;"><font style="font-family:Arial;font-size:10pt;">Reclassification of net realized (gain) loss into current operations</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(9</font></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;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;">35</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Net change related to cash flow hedges</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">50</font></div></td><td style="vertical-align:bottom;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">23</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;">Available-for-sale investments:</font></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;"><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 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;"><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 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;"><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 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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;">Net unrealized gain (loss), net of tax of $8 and $58 in the three-month periods and net of tax of $(106) and $150 in the six-month periods, respectively</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">490</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">307</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(702</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">818</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Reclassification of net realized (gain) loss into current operations</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(247</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(42</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</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 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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(269</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</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 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;"><font style="font-family:Arial;font-size:10pt;">(107</font></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;"><font style="font-family:Arial;font-size:10pt;">)</font></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;"><font style="font-family:Arial;font-size:10pt;">Net change related to available-for-sale investments</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">243</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;">265</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(971</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">711</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;height:20px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><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;height:20px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><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;height:20px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><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;height:20px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;">Foreign currency translation adjustments:</font></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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;">Foreign currency translation adjustments</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(7,253</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10,263</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(3,197</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">12,744</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Net change related to foreign currency translation adjustments</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(7,253</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;">10,263</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(3,197</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;">12,744</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;height:21px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><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;height:21px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><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;height:21px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><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;height:21px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;">Other comprehensive income (loss), net of tax</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(7,010</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;">10,578</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(4,168</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;">13,478</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Total comprehensive income</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">49,186</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></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;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></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;"><font style="font-family:Arial;font-size:10pt;">67,073</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">89,245</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></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;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;"><font style="font-family:Arial;font-size:10pt;">$</font></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;"><font style="font-family:Arial;font-size:10pt;">115,444</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The accompanying notes are an integral part of these consolidated financial statements.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">4</font></div></div><hr style="page-break-after:always"><div><a name="sA8141F889AA95DDB84BB70A809D2E685"></a></div><div><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;"><br></font></div></div><div><br></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">CONSOLIDATED BALANCE SHEETS</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(In thousands)</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="8"></td></tr><tr><td style="width:65%;"></td><td style="width:1%;"></td><td style="width:15%;"></td><td style="width:1%;"></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="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">July 1, 2018</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 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;"><font style="font-family:Arial;font-size:9pt;">December 31, 2017</font></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;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></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:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">(unaudited)</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 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:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">ASSETS</font></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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;">Current assets:</font></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;"><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 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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;">Cash and cash equivalents</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">129,202</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">106,582</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Short-term investments</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">353,740</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">297,961</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Accounts receivable, less reserves of $1,501 and $1,568 in 2018 and 2017, respectively</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">136,084</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">119,388</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Unbilled revenue</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">3,603</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7,454</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Inventories</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">89,556</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">67,923</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Prepaid expenses and other current assets</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">47,362</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 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;"><font style="font-family:Arial;font-size:10pt;">30,683</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Total current assets</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">759,547</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">629,991</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Long-term investments</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">271,941</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">423,441</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Property, plant, and equipment, net</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">87,893</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">78,048</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Goodwill</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">113,208</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">113,208</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Intangible assets, net</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">11,651</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13,189</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Deferred income taxes</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">29,892</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">27,385</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Other assets</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,178</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,491</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Total assets</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,276,310</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></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;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;"><font style="font-family:Arial;font-size:10pt;">$</font></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;"><font style="font-family:Arial;font-size:10pt;">1,287,753</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">LIABILITIES AND SHAREHOLDERS&#8217; EQUITY</font></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;"><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 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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;">Current liabilities:</font></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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;">Accounts payable</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">12,588</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">23,463</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Accrued expenses</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">58,654</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">68,249</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Accrued income taxes</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">12,477</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">11,503</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Deferred revenue and customer deposits</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">40,881</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;">9,420</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Total current liabilities</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">124,600</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">112,635</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Deferred income taxes</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">304</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">312</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Reserve for income taxes</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">7,399</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">6,488</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Accrued income taxes</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">60,241</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">66,741</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Other non-current liabilities</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4,634</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 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;"><font style="font-family:Arial;font-size:10pt;">5,904</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Total liabilities</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">197,178</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">192,080</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;height:20px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><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;height:20px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;">Shareholders&#8217; equity:</font></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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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:10pt;"><font style="font-family:Arial;font-size:10pt;">Common stock, $.002 par value &#8211; Authorized: 300,000 and 200,000 shares in 2018 and 2017, respectively, issued and outstanding: 172,032 and 173,507 shares in 2018 and 2017, respectively</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">344</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">347</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Additional paid-in capital</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">498,343</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">461,338</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Retained earnings</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">619,212</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">668,587</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Accumulated other comprehensive loss, net of tax</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(38,767</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;">(34,599</font></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;"><font style="font-family:Arial;font-size:10pt;">)</font></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;"><font style="font-family:Arial;font-size:10pt;">Total shareholders&#8217; equity</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,079,132</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 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:10pt;"><font style="font-family:Arial;font-size:10pt;">1,095,673</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,276,310</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;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;"><font style="font-family:Arial;font-size:10pt;">$</font></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;"><font style="font-family:Arial;font-size:10pt;">1,287,753</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;text-align:center;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The accompanying notes are an integral part of these consolidated financial statements.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">5</font></div></div><hr style="page-break-after:always"><div><a name="s9D5D5B9BF90151A09DEE69BCCEAC61C2"></a></div><div><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;"><br></font></div></div><div><br></div><div style="line-height:120%;text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">COGNEX CORPORATION</font></div><div style="line-height:120%;text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">CONSOLIDATED STATEMENTS OF CASH FLOWS</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:9pt;">(In thousands)</font><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.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="8"></td></tr><tr><td style="width:67%;"></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="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Six-months Ended</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 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;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">July 1, 2018</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 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;"><font style="font-family:Arial;font-size:9pt;">July 2, 2017</font></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;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(unaudited)</font></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;"><font style="font-family:Arial;font-size:10pt;">Cash flows from operating activities:</font></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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;">Net income</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">93,413</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">101,966</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Adjustments to reconcile net income to net cash provided by operating activities:</font></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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;">Stock-based compensation expense</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">22,196</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">15,329</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Depreciation of property, plant, and equipment</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">8,874</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">6,288</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Amortization of intangible assets</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,538</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,740</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Amortization of discounts or premiums on investments</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">94</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">171</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Realized (gain) loss on sale of investments</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(269</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(107</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></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;"><font style="font-family:Arial;font-size:10pt;">Revaluation of contingent consideration</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(254</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(151</font></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;"><font style="font-family:Arial;font-size:10pt;">)</font></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;"><font style="font-family:Arial;font-size:10pt;">Change in deferred income taxes</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(2,385</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(972</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></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;"><font style="font-family:Arial;font-size:10pt;">Change in operating assets and liabilities:</font></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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;">Accounts receivable</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(18,779</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(18,841</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></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;"><font style="font-family:Arial;font-size:10pt;">Unbilled revenue</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">3,803</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(3,315</font></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;"><font style="font-family:Arial;font-size:10pt;">)</font></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;"><font style="font-family:Arial;font-size:10pt;">Inventories</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(23,220</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(7,711</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></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;"><font style="font-family:Arial;font-size:10pt;">Prepaid expenses and other current assets</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(23,112</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(23,990</font></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;"><font style="font-family:Arial;font-size:10pt;">)</font></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;"><font style="font-family:Arial;font-size:10pt;">Accounts payable</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(10,889</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">11,814</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Accrued expenses</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(5,666</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(157</font></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;"><font style="font-family:Arial;font-size:10pt;">)</font></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;"><font style="font-family:Arial;font-size:10pt;">Accrued income taxes</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(5,360</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(532</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></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;"><font style="font-family:Arial;font-size:10pt;">Deferred revenue and customer deposits</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">32,470</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,080</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Other</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">162</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 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;"><font style="font-family:Arial;font-size:10pt;">8</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Net cash provided by operating activities</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">72,616</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;">90,620</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Cash flows from investing activities:</font></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;"><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 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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;">Purchases of investments</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(336,189</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(304,611</font></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;"><font style="font-family:Arial;font-size:10pt;">)</font></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;"><font style="font-family:Arial;font-size:10pt;">Maturities and sales of investments</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">431,008</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">279,654</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Purchases of property, plant, and equipment</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(21,675</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(12,172</font></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;"><font style="font-family:Arial;font-size:10pt;">)</font></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;"><font style="font-family:Arial;font-size:10pt;">Cash paid for acquisition of business</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(25,519</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></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;"><font style="font-family:Arial;font-size:10pt;">Legal fees paid from sale of discontinued business</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;">(291</font></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;"><font style="font-family:Arial;font-size:10pt;">)</font></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;"><font style="font-family:Arial;font-size:10pt;">Net cash provided by (used in) investing activities</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">73,144</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(62,939</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></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;"><font style="font-family:Arial;font-size:10pt;">Cash flows from financing activities:</font></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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;">Issuance of common stock under stock plans</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">14,811</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">35,050</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Repurchase of common stock</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(121,308</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(62,343</font></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;"><font style="font-family:Arial;font-size:10pt;">)</font></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;"><font style="font-family:Arial;font-size:10pt;">Payment of dividends</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(15,524</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(13,864</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></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;"><font style="font-family:Arial;font-size:10pt;">Payment of contingent consideration</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(1,000</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Net cash provided by (used in) financing activities</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(123,021</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(41,157</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></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;"><font style="font-family:Arial;font-size:10pt;">Effect of foreign exchange rate changes on cash and cash equivalents</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(119</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;">2,101</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Net change in cash and cash equivalents</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">22,620</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(11,375</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></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;"><font style="font-family:Arial;font-size:10pt;">Cash and cash equivalents at beginning of period</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">106,582</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;">79,641</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Cash and cash equivalents at end of period</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">129,202</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></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;"><font style="font-family:Arial;font-size:10pt;">68,266</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The accompanying notes are an integral part of these consolidated financial statements.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">6</font></div></div><hr style="page-break-after:always"><div><a name="s3A563BA9961E5692981688E791B4827A"></a></div><div><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;"><br></font></div></div><div><br></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">CONSOLIDATED STATEMENT OF SHAREHOLDERS&#8217; EQUITY</font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(In thousands)</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="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:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Common Stock</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 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;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Additional</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Paid-in Capital</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 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;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Retained Earnings</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 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;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Accumulated</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Other</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Comprehensive</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Loss</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 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;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Total</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Shareholders&#8217;</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Equity</font></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;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Shares</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 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;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Par&#160;Value</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></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;"><font style="font-family:Arial;font-size:9pt;">Balance as of December 31, 2017</font></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;"><font style="font-family:Arial;font-size:10pt;">173,507</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></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;"><font style="font-family:Arial;font-size:10pt;">347</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></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;"><font style="font-family:Arial;font-size:10pt;">461,338</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></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;"><font style="font-family:Arial;font-size:10pt;">668,587</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></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;"><font style="font-family:Arial;font-size:10pt;">(34,599</font></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;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></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;"><font style="font-family:Arial;font-size:10pt;">1,095,673</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:9pt;">Issuance of common stock under stock plans</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">881</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">14,809</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">14,811</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:9pt;">Repurchase of common stock</font></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;"><font style="font-family:Arial;font-size:10pt;">(2,356</font></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;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(5</font></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;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(121,303</font></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;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(121,308</font></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;"><font style="font-family:Arial;font-size:10pt;">)</font></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;"><font style="font-family:Arial;font-size:9pt;">Stock-based compensation expense</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">22,196</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">22,196</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:9pt;">Payment of dividends</font></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;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(15,524</font></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;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(15,524</font></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;"><font style="font-family:Arial;font-size:10pt;">)</font></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;"><font 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" (Note 12)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(5,961</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(5,961</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></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;"><font style="font-family:Arial;font-size:9pt;">Net income</font></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;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">93,413</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">93,413</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:9pt;">Net unrealized gain (loss) on available-for-sale investments, net of tax of $(106)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(702</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(702</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></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;"><font style="font-family:Arial;font-size:9pt;">Reclassification of net realized (gain) loss on the sale of available-for-sale investments</font></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;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(269</font></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;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(269</font></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;"><font style="font-family:Arial;font-size:10pt;">)</font></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;"><font style="font-family:Arial;font-size:9pt;">Foreign currency translation adjustment</font></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;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 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;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 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;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 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;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 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;"><font style="font-family:Arial;font-size:10pt;">(3,197</font></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;"><font style="font-family:Arial;font-size:10pt;">)</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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(3,197</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></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;"><font style="font-family:Arial;font-size:9pt;">Balance as of July 1, 2018 (unaudited)</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">172,032</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">344</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">498,343</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">619,212</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(38,767</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,079,132</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:16px;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The accompanying notes are an integral part of these consolidated financial statements.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">7</font></div></div><hr style="page-break-after:always"><div><a name="sEE162D051C3C50A1AF835AF7B03F18AE"></a></div><div><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;"><br></font></div></div><div><br></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION </font></div><div style="line-height:120%;text-align:center;font-size:12pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED)</font><font style="font-family:Arial;font-size:12pt;font-weight:bold;">&#32;</font></div><div><a name="sBB678031BFD2585CB4B9F55E67200302"></a></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 1: Summary of Significant Accounting Policies</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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 606 "Revenue from Contracts with Customers," Cognex Corporation (the "Company") has provided new disclosures related to revenue recognition 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 </font><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2017</font><font style="font-family:Arial;font-size:10pt;">&#32;for a full description of significant accounting policies.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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 </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">, and the results of its operations for the three-month and six-month periods ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">July&#160;2, 2017</font><font style="font-family:Arial;font-size:10pt;">, and changes in shareholders&#8217; equity, comprehensive income, and cash flows for the periods presented.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The results disclosed in the Consolidated Statements of Operations for the three-month and six-month periods ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">&#32;are not necessarily indicative of the results to be expected for the full year.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Revenue Recognition</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company recognizes revenue in accordance with Accounting Standards Codification (ASC) 606, &#8220;Revenue from Contracts with Customers.&#8221; The core principle of ASC 606 is to recognize revenue in a manner that depicts the transfer of promised goods or services to customers in an amount that reflects the consideration to which the Company expects to be entitled in exchange for those goods or services.  The framework in support of this core principle includes: (1) identifying the contract with the customer; (2) identifying the performance obligations in the contract; (3) determining the transaction price; (4) allocating the transaction price to the performance obligations; and (5) recognizing revenue when (or as) the performance obligations are satisfied.  </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Identifying the Contract with the Customer</font></div><div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company identifies contracts with customers as agreements that create enforceable rights and obligations, which typically take the form of customer contracts or purchase orders.  </font></div><div style="line-height:120%;padding-top:8px;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Identifying the Performance Obligations in the Contract</font></div><div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company identifies performance obligations as promises in contracts to transfer distinct goods or services. Standard products and services that the Company regularly sells separately are accounted for as distinct performance obligations.  Application-specific customer solutions that are comprised of a combination of products and services are accounted for as one performance obligation to deliver a total solution to the customer.  On-site support services that are provided to the customer after the solution is deployed are accounted for as a separate performance obligation.  These solutions are provided to customers in a variety of industries, including the consumer electronics, logistics, and automotive industries.   </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Shipping and handling activities for which the Company is responsible under the terms and conditions of the sale are not accounted for as performance obligations but as fulfillment costs.  These activities are required to fulfill the Company&#8217;s promise to transfer the goods and are expensed when revenue is recognized.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company does not assess whether promised goods or services are performance obligations if they are immaterial in the context of the contract.  If revenue is recognized before immaterial promises have been completed, then the costs related to such immaterial promises are accrued at the time of sale.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Determining the Transaction Price</font></div><div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company determines the transaction price as the amount of consideration it expects to receive in exchange for transferring promised goods or services to the customer.  Amounts collected from customers for sales taxes are excluded from the transaction price. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">If a contract includes a variable amount, such as a rebate, then the Company estimates the transaction price using either the expected value or the most likely amount of consideration to be received, depending upon the specific facts and circumstances.  The Company includes estimated variable consideration in the transaction price only to the extent it is probable that a significant reversal of revenue will not occur when the uncertainty is resolved.  The Company </font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">8</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;"><br></font></div></div><div><br></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">updates its estimate of variable consideration at the end of each reporting period to reflect changes in facts and circumstances.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Allocating the Transaction Price to the Performance Obligations</font></div><div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company allocates the transaction price to each performance obligation at contract inception based on a relative stand-alone selling price basis, or the price at which the Company would sell the good or service separately to similar customers in similar circumstances.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Recognizing Revenue When (or As) the Performance Obligations are Satisfied</font></div><div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company recognizes revenue when it transfers the promised goods or services to the customer.  Revenue for standard products is recognized at the point in time when the customer obtains control of the goods, which is typically upon delivery when the customer has legal title, physical possession, the risks and rewards of ownership, and an enforceable obligation to pay for the products.  Revenue for services, which are not material, is typically recognized over the time the service is provided.  </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Revenue for application-specific customer solutions is recognized at the point in time when the solution is validated, which is the point in time when the Company can objectively determine that the agreed-upon specifications in the contract have been met and the customer will accept the performance obligations in the arrangement.  Although the customer may have taken legal title and physical possession of the goods when they arrived at the customer&#8217;s designated site, the significant risks and rewards of ownership transfer to the customer only upon validation.  Revenue for on-site support services related to these solutions is recognized over the time the service is provided.  </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In certain instances, an arrangement may include customer-specified acceptance provisions or performance guarantees that allow the customer to accept or reject delivered products that do not meet the customer&#8217;s specifications.  If the Company can objectively determine that control of a good or service has been transferred to the customer in accordance with the agreed-upon specifications in the contract, then customer acceptance is a formality.  If acceptance provisions are presumed to be substantive, then revenue is deferred until customer acceptance.  </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">For the Company&#8217;s standard products and services, revenue recognition and billing typically occur at the same time.  For application-specific customer solutions, however, the agreement with the customer may provide for billing terms which differ from revenue recognition criteria, resulting in either deferred revenue or unbilled revenue.  Credit assessments are performed to determine payment terms, which vary by region, industry, and customer.  Prepayment terms result in contract liabilities for customer deposits.  When credit is granted to customers, payment is typically due 30 to 90 days from billing.  The Company's contracts have an original expected duration of less than one year, and therefore as a practical expedient, the Company has elected to ignore the impact of the time value of money on a contract and to expense sales commissions.  The Company recognizes an asset for costs to fulfill a contract if the costs relate directly to the contract and to future performance, and the costs are expected to be recovered.  </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Management exercises judgment when determining the amount of revenue to be recognized each period.  Such judgments include, but are not limited to, assessing the customer&#8217;s ability and intention to pay substantially all of the contract consideration when due, determining when two or more contracts should be combined and accounted for as a single contract, determining whether a contract modification has occurred, assessing whether promises are immaterial in the context of the contract, determining whether material promises in a contract represent distinct performance obligations, estimating the transaction price for a contract that contains variable consideration, determining the stand-alone selling price of each performance obligation, determining whether control is transferred over time or at a point in time for performance obligations, and assessing whether formal customer acceptance provisions are substantive. </font></div><div><a name="s8C60F9F808B05085AE1838110D05C2B9"></a></div><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 2: New Pronouncements</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2016-02, "Leases"</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ASU 2016-02 creates Topic 842, Leases.  The objective of this Update is to increase transparency and comparability among organizations by recognizing lease assets and lease liabilities on the balance sheet, and disclosing key information about leasing arrangements.  This ASU applies to any entity that enters into a lease, although lessees will see the most significant changes.  The main difference between current GAAP and Topic 842 is the recognition of lease assets and lease liabilities on the balance sheet for those leases classified as operating leases under current GAAP.  Topic 842 distinguishes between finance leases and operating leases, which are substantially similar to the classification criteria for distinguishing between capital leases and operating leases under current GAAP.  For public companies, the  guidance in ASU 2016-02 is effective for annual periods beginning after December 15, 2018, and interim periods within those annual periods.  Although this ASU is required to be applied using a modified retrospective approach, the Financial Accounting Standards Board is reportedly in the final stages of issuing an optional transition method allowing entities to apply the amendments of this Update as a cumulative-effect adjustment to retained earnings.  </font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">9</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;"><br></font></div></div><div><br></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Management will continue to monitor the final implementation guidance to determine the adoption method.  As of the date of this report,  management has determined the scope of leases subject to the new accounting requirements and has selected a software package to assist with compliance.  Management is in the process of reviewing all leases in scope, completing the implementation of the lease accounting software, and drafting the internal lease accounting policy and the related processes, internal controls, and disclosures. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2016-13, "Financial Instruments - Measurement of Credit Losses"</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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 Update eliminate the probable initial recognition threshold to recognize a credit loss under current  GAAP and, instead, reflect an entity&#8217;s current estimate of all expected credit losses.  In addition, this Update 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 Update 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.&#160; Management does not expect ASU 2016-13 to have a material impact on the Company's financial statements and disclosures.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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 "</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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 Update 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 Update 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.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2017-12, "Derivatives and Hedging - Targeted Improvements to Accounting for Hedging Activities"</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ASU 2017-12 applies to all reporting entities that elect to apply hedge accounting.  The hedge accounting requirements under current GAAP sometimes do not permit an entity to properly recognize the economic results of the hedging strategy in the financial statements, and they are difficult to understand and interpret.  The amendments in this Update make certain targeted improvements to simplify the application of the hedge accounting guidance.  Also, they better align the risk management activities and financial reporting for hedging relationships through changes to both 1) the designation and measurement guidance for qualifying hedging relationships and 2) the presentation of hedge results.  For public companies, the amendments in ASU 2017-12 are effective for annual reporting periods beginning after December 15, 2018, and interim reporting periods within those annual periods.  Early adoption is permitted including adoption in any interim period after issuance of the Update.  All transition requirements and elections should be applied to hedging relationships existing on the date of adoption.  The entity should apply a cumulative-effect adjustment related to eliminating the separate measurement of ineffectiveness to accumulated other comprehensive income with a corresponding adjustment to the opening balance of retained earnings as of the beginning of the fiscal year that an entity adopts the amendments in this Update.  The amended presentation and disclosure guidance is required only prospectively.  Management does not expect ASU 2017-12 to have a material impact on the Company's financial statements and disclosures.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2018-01, "Land Easement Practical Expedient for Transition to Topic 842"</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ASU 2018-01 applies to entities with land easements that exist or expired before an entity&#8217;s adoption of Topic 842, provided that the entity does not account for those land easements as leases under Topic 840.  The amendments in this Update permit an entity to elect an optional transition practical expedient to not evaluate under Topic 842 land </font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">10</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;"><br></font></div></div><div><br></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">easements that exist or expired before the entity&#8217;s adoption of Topic 842 and that were not previously accounted for as leases under Topic 840.  An entity that elects this practical expedient should apply the practical expedient consistently to all of its existing or expired land easements that were not previously accounted for as leases under Topic 840.  Once an entity adopts Topic 842, it should apply that Topic prospectively to all new (or modified) land easements to determine whether the arrangement should be accounted for as a lease.  An entity that does not elect this practical expedient should evaluate all existing or expired land easements in connection with the adoption of the new lease requirements in Topic 842 to assess whether they meet the definition of a lease.  The amendments in this Update affect the amendments in Update 2016-02, which are not yet effective but may be early adopted.  The effective date and transition requirements for the amendments are the same as the effective date and transition requirements in Update 2016-02,  which is for annual periods beginning after December 15, 2018, and interim periods within those annual periods. Management does not expect ASU 2018-01 to have a material impact on the Company's financial statements and disclosures.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2018-02, "Income Statement - Reporting Comprehensive Income"</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ASU 2018-02 applies to entities required to apply the provisions of Topic 220, Income Statement - Reporting Comprehensive Income, and has items of other comprehensive income for which the related tax effects are presented in other comprehensive income as required by GAAP.  The amendments in this Update allow a reclassification from accumulated other comprehensive income to retained earnings for stranded tax effects resulting from the Tax Cuts and Jobs Act of 2017 (the "Tax Act").  Consequently, the amendments eliminate the stranded tax effects resulting from the Tax Act and will improve the usefulness of information reported to financial statement users.  However, because the amendments only relate to the reclassification of the income tax effects of the Tax Act, the underlying guidance that requires the effect of a change in tax laws or rates to be included in income from continuing operations is not affected.  The amendments in this Update also require certain disclosures about stranded tax effects.  The amendments in this Update are effective for all entities for fiscal years beginning after December 15, 2018, and interim periods within those fiscal years.  Early adoption of the amendments in this Update is permitted, including adoption in any interim period.  The amendments in this Update should be applied either in the period of adoption or retrospectively to each period (or periods) in which the effect of the change in the U.S. federal corporate income tax rate in the Tax Act is recognized.  Management does not expect ASU 2018-02 to have a material impact on the Company's financial statements and disclosures. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2018-07, "Compensation - Stock Compensation - Improvements to Nonemployee Share-Based Payment Accounting"</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ASU 2018-07 applies to all entities that enter into share-based payment transactions for acquiring goods and services from nonemployees.  The amendments in this Update expand the scope of Topic 718, Compensation - Stock Compensation, to include share-based payments transactions to nonemployees.  Changes to the accounting for nonemployee awards as a result of this Update include: 1) equity-classified nonemployee share-based payment awards are measured at the grant date, instead of the previous requirement to remeasure the awards through the performance completion date, 2) for awards with performance conditions, compensation cost is recognized when the achievement of the performance condition is probable, rather than upon achievement, and 3) the current requirement to reassess the classification (equity or liability) for nonemployee awards upon vesting is eliminated.  This Update clarifies that Topic 718 does not apply to financing transactions or awards granted to customers as part of a contract accounted for under Topic 606, Revenue from Contracts with Customers.  The amendments in this Update are effective for public business entities for fiscal years beginning after December 15, 2018, and interim periods within that fiscal year.  An entity should only remeasure liability-classified awards that have not been settled by the date of adoption and equity-classified awards for which the measurement date has not been established through a cumulative-effect adjustment to retained earnings as of the beginning of the fiscal year of adoption.  Management does not expect ASU 2018-07 to have a material impact on the Company's financial statements and disclosures.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">11</font></div></div><hr style="page-break-after:always"><div><a name="sB718C1FCB5AA549A8B1688D19438556D"></a></div><div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION </font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) </font></div></div><div><br></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 3: Fair Value Measurements</font></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Financial Assets and Liabilities that are Measured at Fair Value on a Recurring Basis</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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 </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">&#32;(in thousands):</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="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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Quoted&#160;Prices&#160;in</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Active Markets</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">for Identical</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Assets (Level 1)</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 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;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Significant&#160;    Other</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Observable</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Inputs (Level 2)</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 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;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;"><br>Unobservable<br>Inputs                                                                                                                                                                             (Level 3)</font></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;"><font style="font-family:Arial;font-size:10pt;">Assets:</font></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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;">Money market instruments</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,055</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">324,801</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">136,377</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">102,980</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">35,181</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">16,346</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,996</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Economic hedge forward contracts</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">88</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Liabilities:</font></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;"><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 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;"><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 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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;">Economic hedge forward contracts</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(86</font></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;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Contingent consideration liabilities</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,303</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company did not record an other-than-temporary impairment of these financial assets during the </font><font style="font-family:Arial;font-size:10pt;">six</font><font style="font-family:Arial;font-size:10pt;">-month period ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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 six-month period ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">&#32;(in thousands):</font></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;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2017</font></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;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,557</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Fair value adjustment to Manatee contingent consideration</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1,350</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></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;"><font style="font-family:Arial;font-size:10pt;">Fair value adjustment to GVi contingent consideration</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">988</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Fair value adjustment to Chiaro contingent consideration</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">108</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Payment of GVi contingent consideration</font></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;"><font style="font-family:Arial;font-size:10pt;">(1,000</font></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;"><font style="font-family:Arial;font-size:10pt;">)</font></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;"><font style="font-family:Arial;font-size:10pt;">Balance as of July 1, 2018</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,303</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">12</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION </font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) </font></div></div><div><br></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Non-financial Assets that are Measured at Fair Value on a Non-recurring Basis</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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 </font><font style="font-family:Arial;font-size:10pt;">six</font><font style="font-family:Arial;font-size:10pt;">-month periods ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">&#32;and July 2, 2017.</font></div><div><a name="sCB07D1902342511189ADB92821F85514"></a></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 4: Cash, Cash Equivalents, and Investments</font></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash, cash equivalents, and investments consisted of the following (in thousands):</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="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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">July 1, 2018</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 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;"><font style="font-family:Arial;font-size:9pt;">December 31, 2017</font></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;"><font style="font-family:Arial;font-size:10pt;">Cash</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">124,147</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></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;"><font style="font-family:Arial;font-size:10pt;">97,951</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Money market instruments</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5,055</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">8,631</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Cash and cash equivalents</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">129,202</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;">106,582</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">136,377</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">150,371</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">116,347</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">47,395</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">55,240</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">59,203</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">29,247</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10,608</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">9,154</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">8,805</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">7,375</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">21,579</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Short-term investments</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">353,740</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></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 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;"><font style="font-family:Arial;font-size:10pt;">297,961</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">208,454</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">296,014</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">47,740</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">71,727</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">8,971</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13,147</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5,934</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">14,890</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">842</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,204</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">23,459</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Long-term investments</font></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;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">271,941</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;">423,441</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></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;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">754,883</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></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;"><font style="font-family:Arial;font-size:10pt;">827,984</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills consist of debt securities issued by the U.S. government; corporate bonds consist of debt securities issued by both domestic and foreign companies; asset-backed securities consist of debt securities collateralized by pools of receivables or loans with credit enhancement; agency bonds consist of domestic or foreign obligations of government agencies and government sponsored enterprises that have government backing; municipal bonds consist of debt securities issued by state and local government entities; and sovereign bonds consist of direct debt issued by foreign governments. All securities are denominated in U.S. Dollars.</font></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the Company&#8217;s available-for-sale investments as of </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">&#32;(in thousands):</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: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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Amortized<br>Cost</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 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;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Gross<br>Unrealized<br>Gains</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 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;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Gross<br>Unrealized<br>Losses</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 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;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Fair&#160;Value</font></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;"><font style="font-family:Arial;font-size:10pt;">Short-term:</font></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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">136,706</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(332</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">136,377</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">116,659</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">59</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(371</font></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;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">116,347</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">55,459</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(219</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">55,240</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">29,248</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1</font></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;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">29,247</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,165</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(11</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,154</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7,400</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(26</font></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;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7,375</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Long-term:</font></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;"><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 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;"><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 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;"><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 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:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">208,382</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">636</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(564</font></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;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">208,454</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">48,033</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">12</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(305</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">47,740</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">8,977</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">35</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(41</font></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;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">8,971</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,930</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,934</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">855</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(13</font></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;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">842</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">626,814</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></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;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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">750</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></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;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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(1,883</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</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;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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">625,681</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">13</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION </font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) </font></div></div><div><br></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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 </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">&#32;(in thousands):</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: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;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Unrealized Loss Position For:</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 colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Less than 12 Months</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 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;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">12 Months or Greater</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 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;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Total</font></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;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Fair&#160;Value</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 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;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Unrealized</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Losses</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 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;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Fair&#160;Value</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 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;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Unrealized</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Losses</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 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;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Fair&#160;Value</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 colspan="3" style="vertical-align:bottom;border-bottom:1px solid #000000;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;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Unrealized</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Losses</font></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;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></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;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">139,225</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(713</font></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;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">22,908</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(222</font></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;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">162,133</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(935</font></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;"><font style="font-family:Arial;font-size:10pt;">)</font></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;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">84,309</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(149</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">48,464</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(183</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">132,773</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(332</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></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;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">90,411</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(496</font></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;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,462</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(28</font></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;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">94,873</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(524</font></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;"><font style="font-family:Arial;font-size:10pt;">)</font></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;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">29,246</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">29,246</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></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;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,562</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(9</font></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;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,581</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(58</font></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;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">8,143</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(67</font></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;"><font style="font-family:Arial;font-size:10pt;">)</font></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;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,692</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(24</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,692</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(24</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">350,445</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(1,392</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></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;"><font style="font-family:Arial;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">80,415</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(491</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></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;"><font style="font-family:Arial;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">430,860</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(1,883</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As of </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font 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.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company recorded gross realized gains and gross realized losses on the sale of debt securities totaling </font><font style="font-family:Arial;font-size:10pt;">$308,000</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">$61,000</font><font style="font-family:Arial;font-size:10pt;">, respectively, during the three-month period ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">$55,000</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">$13,000</font><font style="font-family:Arial;font-size:10pt;">, respectively, during the three-month period ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;2, 2017</font><font style="font-family:Arial;font-size:10pt;">.  The Company recorded gross realized gains and gross realized losses on the sale of debt securities totaling </font><font style="font-family:Arial;font-size:10pt;">$363,000</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">$94,000</font><font style="font-family:Arial;font-size:10pt;">, respectively, during the six-month period ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">$143,000</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">$36,000</font><font style="font-family:Arial;font-size:10pt;">, respectively, during the six-month period ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;2, 2017</font><font style="font-family:Arial;font-size:10pt;">.  These gains and losses are included in "Investment income" on the Consolidated Statement 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 income (loss).</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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 </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">&#32;(in thousands):</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:99.22027290448344%;border-collapse:collapse;text-align:left;"><tr><td colspan="28"></td></tr><tr><td style="width:24%;"></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><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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">&lt;1 year</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 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;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">1-2 Years</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 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;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">2-3 Years</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 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;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">3-4 Years</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 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;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">4-5 Years</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 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;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">5-7 Years</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 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;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Total</font></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;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></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;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">116,347</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">96,004</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">71,890</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">29,491</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7,704</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,365</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">324,801</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">136,377</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">136,377</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">55,240</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">31,023</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,178</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,320</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,809</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,410</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">102,980</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">29,247</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,934</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">35,181</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7,375</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,963</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,008</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">16,346</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,154</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">842</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,996</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">353,740</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">132,990</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">77,918</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">33,811</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">19,447</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">7,775</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">625,681</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div><a name="s22A8CF471A055AC6921EDF14B4E816CF"></a></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 5: Inventories</font></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Inventories consisted of the following (in thousands):</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="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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">July 1, 2018</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 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;"><font style="font-family:Arial;font-size:9pt;">December 31, 2017</font></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;"><font style="font-family:Arial;font-size:10pt;">Raw materials</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">46,020</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">33,927</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Work-in-process</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,114</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Finished goods</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">43,536</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;">31,882</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">89,556</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></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;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></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;"><font style="font-family:Arial;font-size:10pt;">67,923</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">14</font></div></div><hr style="page-break-after:always"><div><a name="s1CCF1A39FDFC5D929F5596E32298EDBE"></a></div><div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION </font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) </font></div></div><div><br></div><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 6:&#160; Intangible Assets</font></div><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Amortized intangible assets consisted of the following (in thousands):</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="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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Gross</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</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 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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Accumulated</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Amortization</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 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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Net</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</font></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;"><font style="font-family:Arial;font-size:10pt;">Distribution networks</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">38,060</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">38,060</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Completed technologies</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">13,687</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5,400</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">8,287</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Customer relationships</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">8,607</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5,459</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">3,148</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Non-compete agreements</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">370</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">154</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">216</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Balance as of July 1, 2018</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">60,724</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">49,073</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">11,651</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></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;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><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;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><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;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Gross</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Accumulated</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Amortization</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Net</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</font></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;"><font style="font-family:Arial;font-size:10pt;">Distribution networks</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">38,060</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">38,060</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Completed technologies</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13,687</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,181</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,506</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Customer relationships</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">8,607</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,202</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,405</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Non-compete agreements</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">370</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">92</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">278</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2017</font></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;"><font style="font-family:Arial;font-size:10pt;">$</font></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;"><font style="font-family:Arial;font-size:10pt;">60,724</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></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;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;"><font style="font-family:Arial;font-size:10pt;">$</font></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;"><font style="font-family:Arial;font-size:10pt;">47,535</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></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;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;"><font style="font-family:Arial;font-size:10pt;">$</font></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;"><font style="font-family:Arial;font-size:10pt;">13,189</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As of July 1, 2018, estimated future amortization expense related to intangible assets is as follows (in thousands):</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: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:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;text-decoration:underline;">Year Ended December&#160;31,</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 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:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Amount</font></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;"><font style="font-family:Arial;font-size:10pt;">Remainder of fiscal 2018</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,538</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">2019</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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,701</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">2020</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,185</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">2021</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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,017</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">2022</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,691</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">2023</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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">989</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Thereafter</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">530</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">11,651</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div><a name="s83B2AD98D9555C53935998B9FE4F8576"></a></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 7: Warranty Obligations</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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.</font></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The changes in the warranty obligation were as follows (in thousands):</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="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;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2017</font></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;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,701</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Provisions for warranties issued during the period</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,222</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Fulfillment of warranty obligations</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1,559</font></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;"><font style="font-family:Arial;font-size:10pt;">)</font></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;"><font style="font-family:Arial;font-size:10pt;">Foreign exchange rate changes</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(117</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></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;"><font style="font-family:Arial;font-size:10pt;">Balance as of July 1, 2018</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5,247</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div><a name="s6AC734106D8E58F7BE17DB70468D65FA"></a></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 8: Derivative Instruments</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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 </font><font style="font-family:Arial;font-size:10pt;">two</font><font style="font-family:Arial;font-size:10pt;">&#32;types of hedges to manage this risk.  The first are economic hedges which utilize foreign currency forward contracts with maturities of up to </font><font style="font-family:Arial;font-size:10pt;">45</font><font style="font-family:Arial;font-size:10pt;">&#32;days to manage </font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">15</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION </font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) </font></div></div><div><br></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">the exposure to fluctuations in foreign currency exchange rates arising primarily from foreign-denominated receivables and payables.  The gains and losses on these derivatives are intended to be offset by the changes in the fair value of the assets and liabilities being hedged.  These economic hedges are not designated as hedging instruments for hedge accounting treatment.  The second are cash flow hedges which utilize foreign currency forward contracts with maturities of up to </font><font style="font-family:Arial;font-size:10pt;">18 months</font><font style="font-family:Arial;font-size:10pt;">&#32;to hedge specific forecasted transactions of the Company's foreign subsidiaries with the goal of protecting the Company's budgeted revenues and expenses against foreign currency exchange rate changes compared to its budgeted rates.  These cash flow hedges are designated as hedging instruments for hedge accounting treatment. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company had the following outstanding forward contracts (in thousands):</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="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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">July 1, 2018</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 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;"><font style="font-family:Arial;font-size:10pt;">December 31, 2017</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Currency</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Notional<br>Value</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 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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">USD<br>Equivalent</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 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;"><font style="font-family:Arial;font-size:10pt;">Notional<br>Value</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 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;"><font style="font-family:Arial;font-size:10pt;">USD<br>Equivalent</font></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;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Not Designated as Hedging Instruments:</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;">Euro</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">17,000</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">19,897</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Japanese Yen</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">790,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">8,423</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">455,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,049</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Swiss Franc</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,425</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,879</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,365</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,401</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Hungarian Forint</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">655,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,756</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">545,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,110</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">British Pound</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,430</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,142</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,650</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,232</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Korean Won</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,875,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,968</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,825,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,708</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Taiwanese Dollar</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">47,600</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,837</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">37,725</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,278</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Canadian Dollar</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">855</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">753</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Singapore Dollar</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">700</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">602</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Information regarding the fair value of the outstanding forward contracts was as follows (in thousands):</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="20"></td></tr><tr><td style="width:16%;"></td><td style="width:17%;"></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:1%;"></td><td style="width:11%;"></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:10%;"></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;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Asset Derivatives</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 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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Liability Derivatives</font></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;"><font style="font-family:Arial;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:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Balance</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 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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Fair Value</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:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Balance</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 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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Fair Value</font></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;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Sheet<br>Location</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 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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">July 1, 2018</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 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;"><font style="font-family:Arial;font-size:10pt;">December 31, 2017</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;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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Sheet<br>Location</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 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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">July 1, 2018</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 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;"><font style="font-family:Arial;font-size:10pt;">December 31, 2017</font></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;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Not Designated as Hedging Instruments:<br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;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;background-color:#cceeff;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 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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;">Economic hedge forward contracts</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Prepaid&#160;expenses&#160;and other current assets</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;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">88</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">16</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;">Accrued expenses</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;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">86</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;font-size:10pt;"><font 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):</font><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="19"></td></tr><tr><td style="width:21%;"></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:1%;"></td><td style="width:12%;"></td><td style="width:1%;"></td><td style="width:1%;"></td><td style="width:22%;"></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: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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Asset Derivatives</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 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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Liability Derivatives</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 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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">July&#160;1, 2018</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 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;"><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2017</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 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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">July&#160;1, 2018</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 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;"><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2017</font></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;"><font style="font-family:Arial;font-size:10pt;">Gross amounts of recognized assets</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">88</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">16</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;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;">Gross amounts of recognized liabilities</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">86</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Gross amounts offset</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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;">Gross amounts offset</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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Net amount of assets presented</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">88</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;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;"><font style="font-family:Arial;font-size:10pt;">$</font></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;"><font style="font-family:Arial;font-size:10pt;">16</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;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;">Net amount of liabilities presented</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">86</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;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;"><font style="font-family:Arial;font-size:10pt;">$</font></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;"><font style="font-family:Arial;font-size:10pt;">13</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">16</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION </font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) </font></div></div><div><br></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Information regarding the effect of derivative instruments on the consolidated financial statements was as follows (in thousands):</font><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:25%;"></td><td style="width:27%;"></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:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Location in Financial Statements</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 colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Three-months Ended</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 colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Six-months Ended</font></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;"><font style="font-family:Arial;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 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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">July 1, 2018</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 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;"><font style="font-family:Arial;font-size:10pt;">July 2, 2017</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 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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">July 1, 2018</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 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;"><font style="font-family:Arial;font-size:10pt;">July 2, 2017</font></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;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Designated as Hedging Instruments:</font></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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;">Gains (losses) recorded in shareholders' equity (effective portion)</font></div></td><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;"><font style="font-family:Arial;font-size:10pt;">Accumulated other comprehensive income (loss), net of tax</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;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></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;"><font style="font-family:Arial;font-size:10pt;">60</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></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;"><font style="font-family:Arial;font-size:10pt;">60</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Gains (losses) reclassified from accumulated other comprehensive income (loss) into current operations (effective portion)</font></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;"><font style="font-family:Arial;font-size:10pt;">Revenue</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(46</font></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;"><font style="font-family:Arial;font-size:10pt;">)</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="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Research, development, and engineering expenses</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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;">Selling, general, and administrative expenses</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;">8</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Total gains (losses) reclassified from accumulated other comprehensive income (loss) into current operations</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;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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></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;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;"><font style="font-family:Arial;font-size:10pt;">$</font></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;"><font style="font-family:Arial;font-size:10pt;">9</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></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;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;"><font style="font-family:Arial;font-size:10pt;">$</font></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;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></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;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;"><font style="font-family:Arial;font-size:10pt;">$</font></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;"><font style="font-family:Arial;font-size:10pt;">(35</font></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;"><font style="font-family:Arial;font-size:10pt;">)</font></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;"><font style="font-family:Arial;font-size:10pt;">Gains (losses) recognized in current operations (ineffective portion and discontinued derivatives)</font></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;"><font style="font-family:Arial;font-size:10pt;">Foreign currency gain (loss)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;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;"><font style="font-family:Arial;font-size:10pt;">$</font></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;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;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;"><font style="font-family:Arial;font-size:10pt;">$</font></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;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr><tr><td colspan="11" 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-style:italic;">Derivatives Not Designated as Hedging Instruments:</font></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;"><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 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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;">Gains (losses) recognized in current operations</font></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;"><font style="font-family:Arial;font-size:10pt;">Foreign currency gain (loss)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(354</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;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;"><font style="font-family:Arial;font-size:10pt;">$</font></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;"><font style="font-family:Arial;font-size:10pt;">177</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(665</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;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;"><font style="font-family:Arial;font-size:10pt;">$</font></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;"><font style="font-family:Arial;font-size:10pt;">96</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div><a name="sad3d770604c3461480d2998d8176bf0c"></a></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 9: Revenue Recognition</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">On January 1, 2018, the Company adopted Accounting Standards Codification (ASC) 606, "Revenue from Contracts with Customers," using the full retrospective method to present all periods reported on a consistent basis.  Accordingly, prior-period results have been restated to apply the provisions of this ASC.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As a result of this adoption, revenue for software-only products sold as part of multiple-deliverable arrangements are no longer deferred when vendor-specific objective evidence of fair value does not exist for the undelivered elements of the arrangement. This change results in earlier recognition of revenue.  In addition, certain of the Company&#8217;s product accessory sales, which were reported on a net basis, are now reported on a gross basis as a result of applying the expanded guidance in the new standard related to principal versus agent considerations.  This change results in the Company reporting higher revenue and higher cost of revenue when these sales are reported on a gross basis, although the gross margin dollars do not change.  Furthermore, for arrangements that include customer-specified acceptance criteria, revenue is recognized when the Company can objectively determine that control has been transferred to the customer in accordance with the agreed-upon specifications in the contract, which may occur before formal customer acceptance.  This change primarily impacts revenue recognition for arrangements in the logistics industry where certain customer solutions include installed products and results in earlier recognition of revenue.</font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">17</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION </font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) </font></div></div><div><br></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The adoption of the standard impacted our previously-reported results as follows (in thousands):</font></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="24"></td></tr><tr><td style="width:30%;"></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:10%;"></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:10%;"></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="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Statement of Operations</font></div><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></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;"><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 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;"><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 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;"><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 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;"><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 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;"><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 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;"><font style="font-family:inherit;font-size:10pt;">&#160;</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 colspan="11" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months Ended</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 colspan="11" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Six-months Ended</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 colspan="11" 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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">July 2, 2017</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 colspan="11" 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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">July 2, 2017</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 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:10pt;"><font style="font-family:Arial;font-size:10pt;">As previously reported</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 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:10pt;"><font style="font-family:Arial;font-size:10pt;">Adjustment</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 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:10pt;"><font style="font-family:Arial;font-size:10pt;">As restated</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 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:10pt;"><font style="font-family:Arial;font-size:10pt;">As previously reported</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 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:10pt;"><font style="font-family:Arial;font-size:10pt;">Adjustment</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;border-top:1px solid #000000;"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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:10pt;"><font style="font-family:Arial;font-size:10pt;">As restated</font></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;"><font style="font-family:Arial;font-size:10pt;">Revenue</font></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;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">172,904</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,176</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">178,080</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">307,846</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,273</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">317,119</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Cost of revenue</font></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;"><font style="font-family:Arial;font-size:10pt;">37,471</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 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;"><font style="font-family:Arial;font-size:10pt;">4,693</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 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;"><font style="font-family:Arial;font-size:10pt;">42,164</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 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;"><font style="font-family:Arial;font-size:10pt;">65,696</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 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;"><font style="font-family:Arial;font-size:10pt;">9,000</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 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;"><font style="font-family:Arial;font-size:10pt;">74,696</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Gross margin</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">135,433</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">483</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">135,916</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;">242,150</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;">273</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;">242,423</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Operating income</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">59,538</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">483</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">60,021</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">96,964</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">273</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">97,237</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Income before income tax expense</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">61,323</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">483</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">61,806</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">100,768</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">273</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">101,041</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Income tax expense (benefit)</font></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;"><font style="font-family:Arial;font-size:10pt;">5,251</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 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;"><font style="font-family:Arial;font-size:10pt;">60</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 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;"><font style="font-family:Arial;font-size:10pt;">5,311</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 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;"><font style="font-family:Arial;font-size:10pt;">(959</font></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;"><font style="font-family:Arial;font-size:10pt;">)</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 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;"><font style="font-family:Arial;font-size:10pt;">34</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 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;"><font style="font-family:Arial;font-size:10pt;">(925</font></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;"><font style="font-family:Arial;font-size:10pt;">)</font></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;"><font style="font-family:Arial;font-size:10pt;">Net income</font></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;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">56,072</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">423</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">56,495</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></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;"><font style="font-family:Arial;font-size:10pt;">101,727</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></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;"><font style="font-family:Arial;font-size:10pt;">239</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></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;"><font style="font-family:Arial;font-size:10pt;">101,966</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><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;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><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;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><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;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><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;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><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;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td colspan="24" 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;"><font style="font-family:Arial;font-size:10pt;">Net income per weighted-average common and common-equivalent share:</font></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;"><font style="font-family:Arial;font-size:10pt;">Basic</font></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;"><font style="font-family:Arial;font-size:10pt;">$</font></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;"><font style="font-family:Arial;font-size:10pt;">0.32</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></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;"><font style="font-family:Arial;font-size:10pt;">0.01</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></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;"><font style="font-family:Arial;font-size:10pt;">0.33</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></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;"><font style="font-family:Arial;font-size:10pt;">0.59</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></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;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></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;"><font style="font-family:Arial;font-size:10pt;">0.59</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Diluted</font></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;"><font style="font-family:Arial;font-size:10pt;">$</font></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;"><font style="font-family:Arial;font-size:10pt;">0.31</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;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;"><font style="font-family:Arial;font-size:10pt;">$</font></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;"><font style="font-family:Arial;font-size:10pt;">0.01</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;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;"><font style="font-family:Arial;font-size:10pt;">$</font></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;"><font style="font-family:Arial;font-size:10pt;">0.32</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;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;"><font style="font-family:Arial;font-size:10pt;">$</font></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;"><font style="font-family:Arial;font-size:10pt;">0.57</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;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;"><font style="font-family:Arial;font-size:10pt;">$</font></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;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;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;"><font style="font-family:Arial;font-size:10pt;">$</font></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;"><font style="font-family:Arial;font-size:10pt;">0.57</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></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="12"></td></tr><tr><td style="width:58%;"></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: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;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Balance Sheet</font></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;"><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 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;"><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 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;"><font style="font-family:inherit;font-size:10pt;">&#160;</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 colspan="11" 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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">December 31, 2017</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 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:10pt;"><font style="font-family:Arial;font-size:10pt;">As previously reported</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 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:10pt;"><font style="font-family:Arial;font-size:10pt;">Adjustment</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 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:10pt;"><font style="font-family:Arial;font-size:10pt;">As restated</font></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;"><font style="font-family:Arial;font-size:10pt;">Prepaid expenses and other current assets</font></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;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">30,800</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(117</font></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;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">30,683</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Accrued income taxes</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">11,391</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">112</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">11,503</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Deferred revenue and customer deposits</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,969</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(549</font></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;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,420</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Retained earnings</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">668,267</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">320</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">668,587</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:left;font-size:10pt;"><font 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):</font><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.609375%;border-collapse:collapse;text-align:left;"><tr><td colspan="17"></td></tr><tr><td style="width:52%;"></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="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 colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months Ended</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 colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Six-months Ended</font></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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">July 1, 2018</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;">July 2, 2017</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">July 1, 2018</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;">July 2, 2017</font></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;"><font style="font-family:Arial;font-size:10pt;">Americas</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;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">71,812</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">58,535</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">131,029</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">101,075</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Europe</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">70,366</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">63,048</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">126,569</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">106,156</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Greater China</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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">41,175</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">26,512</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">68,334</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">49,218</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Other Asia</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">27,911</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">29,985</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;">54,899</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">60,670</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">211,264</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></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;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;"><font style="font-family:Arial;font-size:10pt;">$</font></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;"><font style="font-family:Arial;font-size:10pt;">178,080</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></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;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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">380,831</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></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;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;"><font style="font-family:Arial;font-size:10pt;">$</font></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;"><font style="font-family:Arial;font-size:10pt;">317,119</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">18</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION </font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) </font></div></div><div><br></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes disaggregated revenue information by revenue type (in thousands):</font></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:99.4140625%;border-collapse:collapse;text-align:left;"><tr><td colspan="17"></td></tr><tr><td style="width:52%;"></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="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 colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months Ended</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 colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Six-months Ended</font></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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">July 1, 2018</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;">July 2, 2017</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">July 1, 2018</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;">July 2, 2017</font></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;"><font style="font-family:Arial;font-size:10pt;">Standard products and services</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;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">183,627</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">160,466</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">342,026</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">293,483</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Application-specific customer solutions</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">27,637</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">17,614</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">38,805</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">23,636</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">211,264</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></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;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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">178,080</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></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;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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">380,831</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></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;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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">317,119</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Costs to Fulfill a Contract</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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 </font><font style="font-family:Arial;font-size:10pt;">$15,257,000</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">$3,230,000</font><font style="font-family:Arial;font-size:10pt;">&#32;as of July 1, 2018 and December 31, 2017, respectively.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounts Receivable, Contract Assets, and Contract Liabilities</font></div><div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"><font 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 six-month periods ended  July 1, 2018 and July 2, 2017, 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.</font></div><div style="line-height:120%;padding-top:4px;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the deferred revenue and customer deposits activity for the six-month period ended July 1, 2018 (in thousands):</font></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="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;">Amount</font></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;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2017</font></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;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,420</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Increases to deferred revenue and customer deposits</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">48,171</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Recognition of revenue</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(15,803</font></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;"><font style="font-family:Arial;font-size:10pt;">)</font></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;"><font style="font-family:Arial;font-size:10pt;">Foreign exchange rate changes</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(907</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></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;"><font style="font-family:Arial;font-size:10pt;">Balance as of July 1, 2018</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">40,881</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:4px;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font 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.</font></div><div><a name="s4896AAE3B4F85DEB9356DEE9C6D7E40E"></a></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 10: Stock-Based Compensation Expense</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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 awards.  As of </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">, the Company had </font><font style="font-family:Arial;font-size:10pt;">20,388,502</font><font style="font-family:Arial;font-size:10pt;">&#32;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 </font><font style="font-family:Arial;font-size:10pt;">four</font><font style="font-family:Arial;font-size:10pt;">&#32;or five years based upon continuous service and expire </font><font style="font-family:Arial;font-size:10pt;">ten</font><font style="font-family:Arial;font-size:10pt;">&#32;years from the grant date.  Restricted stock awards are granted with an exercise price equal to the market value of the Company's common stock at the time of grant.  Conditions of the award may be based on continuing employment and/or achievement of pre-established performance goals and objectives.  Vesting for performance-based restricted stock awards and time-based restricted stock awards must not be less than </font><font style="font-family:Arial;font-size:10pt;">one</font><font style="font-family:Arial;font-size:10pt;">&#32;year and </font><font style="font-family:Arial;font-size:10pt;">three</font><font style="font-family:Arial;font-size:10pt;">&#32;years, respectively; however, awards with time-based vesting may become vested incrementally over such three-year period.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">19</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION </font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) </font></div></div><div><br></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the Company&#8217;s stock option activity for the </font><font style="font-family:Arial;font-size:10pt;">six</font><font style="font-family:Arial;font-size:10pt;">-month period ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">:</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="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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Shares</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(in&#160;thousands)</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 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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Weighted-</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Average</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Exercise</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Price</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;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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Weighted-</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Average</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Remaining</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Contractual</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Term&#160;(in&#160;years)</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 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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Aggregate</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Intrinsic</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(in&#160;thousands)</font></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;"><font style="font-family:Arial;font-size:10pt;">Outstanding as of December 31, 2017</font></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;"><font style="font-family:Arial;font-size:10pt;">12,726</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">25.24</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;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;background-color:#cceeff;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 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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;">Granted</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,119</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">56.03</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;">Exercised</font></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;"><font style="font-family:Arial;font-size:10pt;">(881</font></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;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">16.82</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;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;background-color:#cceeff;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 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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;">Forfeited or expired</font></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;"><font style="font-family:Arial;font-size:10pt;">(373</font></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;"><font style="font-family:Arial;font-size:10pt;">)</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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">32.68</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;">Outstanding as of July 1, 2018</font></div></td><td style="vertical-align:bottom;border-bottom:2px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">13,591</font></div></td><td style="vertical-align:bottom;border-bottom:2px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;border-bottom:2px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:2px solid #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">30.39</font></div></td><td style="vertical-align:bottom;border-bottom:2px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;border-bottom:2px solid #000000;background-color:#cceeff;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;font-weight:bold;">7.62</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;border-bottom:2px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:2px solid #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">223,515</font></div></td><td style="vertical-align:bottom;border-bottom:2px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Exercisable as of July 1, 2018</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4,781</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">19.98</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">6.17</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;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">117,767</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Options vested or expected to vest as of July 1, 2018 (1)</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">12,177</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">29.20</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">7.49</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">210,965</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:8px;text-align:justify;padding-left:48px;font-size:10pt;"><font 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.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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:</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="12"></td></tr><tr><td style="width:40%;"></td><td style="width:13%;"></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:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months&#160;Ended</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 colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Six-months Ended</font></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;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">July 1, 2018</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 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;"><font style="font-family:Arial;font-size:10pt;">July 2, 2017</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 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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">July 1, 2018</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 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;"><font style="font-family:Arial;font-size:10pt;">July 2, 2017</font></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="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Risk-free rate</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2.9</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2.4</font></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;"><font style="font-family:Arial;font-size:10pt;">%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2.9</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2.4</font></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;"><font style="font-family:Arial;font-size:10pt;">%</font></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;"><font style="font-family:Arial;font-size:10pt;">Expected dividend yield</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">0.32</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">%</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;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.39</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">%</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;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">0.32</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">%</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;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.39</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">%</font></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="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Expected volatility</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">39</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">41</font></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;"><font style="font-family:Arial;font-size:10pt;">%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">39</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">41</font></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;"><font style="font-family:Arial;font-size:10pt;">%</font></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;"><font style="font-family:Arial;font-size:10pt;">Expected term (in years)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5.4</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5.2</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5.3</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5.3</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Risk-free rate</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Expected dividend yield</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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;</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Expected volatility</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Expected term</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company stratifies its employee population into </font><font style="font-family:Arial;font-size:10pt;">two</font><font style="font-family:Arial;font-size:10pt;">&#32;groups: one consisting of senior management and another consisting of all other employees.  The Company currently applies an estimated annual forfeiture rate of </font><font style="font-family:Arial;font-size:10pt;">8%</font><font style="font-family:Arial;font-size:10pt;">&#32;to all unvested options for senior management and a rate of </font><font style="font-family:Arial;font-size:10pt;">12%</font><font style="font-family:Arial;font-size:10pt;">&#32;for all other employees.  Each year during the first quarter, the company revises its estimated forfeiture rate.  This resulted in an increase to compensation expense of </font><font style="font-family:Arial;font-size:10pt;">$1,283,000</font><font style="font-family:Arial;font-size:10pt;">&#32;in 2018 and a decrease to compensation expense of </font><font style="font-family:Arial;font-size:10pt;">$673,000</font><font style="font-family:Arial;font-size:10pt;">&#32;in 2017.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The weighted-average grant-date fair values of stock options granted during the three-month periods ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">July&#160;2, 2017</font><font style="font-family:Arial;font-size:10pt;">&#32;were </font><font style="font-family:Arial;font-size:10pt;">$21.63</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">$15.51</font><font style="font-family:Arial;font-size:10pt;">, respectively.  The weighted-average grant-date fair values of stock options granted during the six-month periods ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">July&#160;2, 2017</font><font style="font-family:Arial;font-size:10pt;">&#32;were </font><font style="font-family:Arial;font-size:10pt;">$21.62</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">$14.98</font><font style="font-family:Arial;font-size:10pt;">, respectively. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The total intrinsic values of stock options exercised for the three-month periods ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">July&#160;2, 2017</font><font style="font-family:Arial;font-size:10pt;">&#32;were </font><font style="font-family:Arial;font-size:10pt;">$4,902,000</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">$19,408,000</font><font style="font-family:Arial;font-size:10pt;">, respectively.  The total intrinsic values of stock options exercised for the six-month </font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">20</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION </font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) </font></div></div><div><br></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">periods ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">July&#160;2, 2017</font><font style="font-family:Arial;font-size:10pt;">&#32;were </font><font style="font-family:Arial;font-size:10pt;">$32,991,000</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">$72,451,000</font><font style="font-family:Arial;font-size:10pt;">, respectively.  The total fair values of stock options vested for the three-month periods ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">July&#160;2, 2017</font><font style="font-family:Arial;font-size:10pt;">&#32;were </font><font style="font-family:Arial;font-size:10pt;">$887,000</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">$725,000</font><font style="font-family:Arial;font-size:10pt;">, respectively.  The total fair values of stock options vested for the six-month periods ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">July&#160;2, 2017</font><font style="font-family:Arial;font-size:10pt;">&#32;were </font><font style="font-family:Arial;font-size:10pt;">$26,560,000</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">$18,713,000</font><font style="font-family:Arial;font-size:10pt;">, respectively.   </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As of </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">, total unrecognized compensation expense related to non-vested stock options was </font><font style="font-family:Arial;font-size:10pt;">$56,124,000</font><font style="font-family:Arial;font-size:10pt;">, which is expected to be recognized over a weighted-average period of </font><font style="font-family:Arial;font-size:10pt;">1.80</font><font style="font-family:Arial;font-size:10pt;">&#32;years.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the Company's restricted stock activity for the six-month period ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">: </font></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="11"></td></tr><tr><td style="width:48%;"></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><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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Shares                   (in thousands)</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 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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Weighted-Average     Grant Fair Value</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 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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Aggregate Intrinsic Value                  (in thousands)</font></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;"><font style="font-family:Arial;font-size:10pt;">Nonvested as of December 31, 2017</font></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;"><font style="font-family:Arial;font-size:10pt;">20</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">17.03</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;">Granted</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;">Vested</font></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;"><font style="font-family:Arial;font-size:10pt;">(20</font></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;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">17.03</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">993</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Forfeited or expired</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;">Nonvested as of July 1, 2018</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The fair values of restricted stock awards 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.  These restricted shares became fully vested in 2018.  Participants were entitled to dividends on restricted stock awards, but only receive those amounts if the shares vest.  The sale or transfer of these shares was restricted during the vesting period.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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 </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">&#32;were </font><font style="font-family:Arial;font-size:10pt;">$9,002,000</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">$1,607,000</font><font style="font-family:Arial;font-size:10pt;">, respectively, and for the three-month period ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;2, 2017</font><font style="font-family:Arial;font-size:10pt;">&#32;were </font><font style="font-family:Arial;font-size:10pt;">$7,846,000</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">$2,583,000</font><font style="font-family:Arial;font-size:10pt;">, respectively.  The total stock-based compensation expense and the related income tax benefit recognized for the six-month period ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">&#32;were </font><font style="font-family:Arial;font-size:10pt;">$22,196,000</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">$3,954,000</font><font style="font-family:Arial;font-size:10pt;">, respectively, and for the six-month period ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;2, 2017</font><font style="font-family:Arial;font-size:10pt;">&#32;were </font><font style="font-family:Arial;font-size:10pt;">$15,329,000</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">$5,022,000</font><font style="font-family:Arial;font-size:10pt;">, respectively.  </font><font style="font-family:Arial;font-size:10pt;">No</font><font style="font-family:Arial;font-size:10pt;">&#32;compensation expense was capitalized as of </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">&#32;or </font><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2017</font><font style="font-family:Arial;font-size:10pt;">.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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):</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="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;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months Ended</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 colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Six-months Ended</font></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;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">July 1, 2018</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 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;"><font style="font-family:Arial;font-size:10pt;">July 2, 2017</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 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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">July 1, 2018</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 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;"><font style="font-family:Arial;font-size:10pt;">July 2, 2017</font></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;"><font style="font-family:Arial;font-size:10pt;">Cost of revenue</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">557</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">454</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,354</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">884</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Research, development, and engineering</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">3,154</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,715</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">7,969</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,325</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Selling, general, and administrative</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5,291</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,677</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">12,873</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,120</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">9,002</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></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;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;"><font style="font-family:Arial;font-size:10pt;">$</font></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;"><font style="font-family:Arial;font-size:10pt;">7,846</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></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;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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">22,196</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></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;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;"><font style="font-family:Arial;font-size:10pt;">$</font></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;"><font style="font-family:Arial;font-size:10pt;">15,329</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div><a name="s57206DD368AF549DBC1FE0D6637D09E4"></a></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 11: Stock Repurchase Program</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In April 2017, the Company's Board of Directors authorized the repurchase of </font><font style="font-family:Arial;font-size:10pt;">$100,000,000</font><font style="font-family:Arial;font-size:10pt;">&#32;of the Company's common stock.  As of July 1, 2018, the Company had repurchased </font><font style="font-family:Arial;font-size:10pt;">1,744,000</font><font style="font-family:Arial;font-size:10pt;">&#32;shares at a cost of </font><font style="font-family:Arial;font-size:10pt;">$100,000,000</font><font style="font-family:Arial;font-size:10pt;">&#32;under this program, including </font><font style="font-family:Arial;font-size:10pt;">803,000</font><font style="font-family:Arial;font-size:10pt;">&#32;shares at a cost of </font><font style="font-family:Arial;font-size:10pt;">$45,200,000</font><font style="font-family:Arial;font-size:10pt;">&#32;in the three-month period ended April 1, 2018. Stock repurchases under this April 2017 program were completed in the three-month period ended April 1, 2018.  In February 2018, the Company's Board of Directors authorized the repurchase of an additional </font><font style="font-family:Arial;font-size:10pt;">$150,000,000</font><font style="font-family:Arial;font-size:10pt;">&#32;of the Company's common stock.  As of July 1, 2018,  the Company had repurchased </font><font style="font-family:Arial;font-size:10pt;">1,553,000</font><font style="font-family:Arial;font-size:10pt;">&#32;shares at a cost of </font><font style="font-family:Arial;font-size:10pt;">$76,108,000</font><font style="font-family:Arial;font-size:10pt;">&#32;under this program, leaving a remaining authorized balance of </font><font style="font-family:Arial;font-size:10pt;">$73,892,000</font><font style="font-family:Arial;font-size:10pt;">.  Total stock repurchases in the six-month period ended July 1, 2018 amounted to </font><font style="font-family:Arial;font-size:10pt;">$121,308,000</font><font style="font-family:Arial;font-size:10pt;">. The Company may repurchase shares under this program in future periods 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.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">21</font></div></div><hr style="page-break-after:always"><div><a name="sB5AA5188133056A0A7C80CE6C9270C51"></a></div><div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION </font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) </font></div></div><div><br></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 12: Taxes</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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:</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="12"></td></tr><tr><td style="width:53%;"></td><td style="width:10%;"></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:10%;"></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="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months&#160;Ended</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 colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Six-months Ended</font></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;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">July 1, 2018</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 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;"><font style="font-family:Arial;font-size:10pt;">July 2, 2017</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 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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">July 1, 2018</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 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;"><font style="font-family:Arial;font-size:10pt;">July 2, 2017</font></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;"><font style="font-family:Arial;font-size:10pt;">Income tax provision at federal statutory corporate tax rate</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">21</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">35</font></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;"><font style="font-family:Arial;font-size:10pt;">&#160;%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">21</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">35</font></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;"><font style="font-family:Arial;font-size:10pt;">&#160;%</font></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;"><font style="font-family:Arial;font-size:10pt;">State income taxes, net of federal benefit</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#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;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;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;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#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;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;%</font></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;"><font style="font-family:Arial;font-size:10pt;">Foreign tax rate differential</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(7</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(18</font></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;"><font style="font-family:Arial;font-size:10pt;">)%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(7</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(18</font></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;"><font style="font-family:Arial;font-size:10pt;">)%</font></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;"><font style="font-family:Arial;font-size:10pt;">Tax credit</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</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;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)%</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;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</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;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)%</font></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;"><font style="font-family:Arial;font-size:10pt;">Discrete tax benefit related to stock option exercises</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(1</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(9</font></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;"><font style="font-family:Arial;font-size:10pt;">)%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(5</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(19</font></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;"><font style="font-family:Arial;font-size:10pt;">)%</font></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;"><font style="font-family:Arial;font-size:10pt;">Other</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#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;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;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;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#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;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;%</font></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;"><font style="font-family:Arial;font-size:10pt;">Income tax provision</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">16</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</font></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;"><font style="font-family:Arial;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">9</font></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;"><font style="font-family:Arial;font-size:10pt;">&#160;%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">11</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;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;"><font style="font-family:Arial;font-size:10pt;">(1</font></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;"><font style="font-family:Arial;font-size:10pt;">)%</font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">On December 22, 2017, the United States Congress passed and the President signed into law the Tax Act.  The Tax Act included a decrease in the U.S. federal statutory corporate tax rate from </font><font style="font-family:Arial;font-size:10pt;">35%</font><font style="font-family:Arial;font-size:10pt;">&#32;to </font><font style="font-family:Arial;font-size:10pt;">21%</font><font style="font-family:Arial;font-size:10pt;">, a one-time transition tax on unrepatriated foreign earnings, and limits on certain deductions.  The Company made what it considers to be a reasonable estimate of the impact of the Tax Act in its financial statements for the year ended December 31, 2017.  The Company has not recorded any changes to this estimate for the three-month and six-month periods ended July 1, 2018.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Securities and Exchange Commission (SEC) released Staff Accounting Bulletin (SAB) No. 118 to provide guidance to companies on how to implement the accounting and disclosure changes as a result of the Tax Act.  The SEC staff guidance has recognized that, due to the complexity and timing of the release of the Tax Act, the accounting for this change in the law may be incomplete upon issuance of a company's financial statements.  This significant estimate is highly judgmental and changes to this estimate could result in material charges or credits in future reporting periods.  U.S. Treasury regulations and administrative guidance have not been finalized as of the date of these financial statements.  The issuance of final regulations may require the Company to revise its estimates of earnings and profits, as well as certain deferred taxes as required.  The Tax Act subjects the Company to current tax on Global Intangible Low-Taxed Income (GILTI) earned by certain foreign subsidiaries.&#160; The Company can make an accounting policy election to either recognize deferred taxes for temporary differences expected to reverse as GILTI in future years or provide for the tax expense related to GILTI resulting from those items in the year the tax is incurred.  As of the date of this report, the Company is still evaluating the guidance and has not made a policy election related to the treatment of the GILTI tax.  The Company will continue to gather and analyze information on historical unrepatriated foreign earnings and to monitor state laws relating to this income to finalize both the federal and state tax impact.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The majority of income earned outside of the United States is permanently reinvested to provide funds for international expansion.  The Company is tax resident in numerous jurisdictions around the world and has identified its major jurisdictions as the United States, Ireland, and China.  The statutory tax rate is </font><font style="font-family:Arial;font-size:10pt;">12.5%</font><font style="font-family:Arial;font-size:10pt;">&#32;in Ireland and </font><font style="font-family:Arial;font-size:10pt;">25%</font><font style="font-family:Arial;font-size:10pt;">&#32;in China, compared to the U.S. federal statutory corporate tax rate of </font><font style="font-family:Arial;font-size:10pt;">21%</font><font 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 </font><font style="font-family:Arial;font-size:10pt;">7</font><font style="font-family:Arial;font-size:10pt;">&#32;percentage points</font><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#32;</font><font style="font-family:Arial;font-size:10pt;">for the three-month and </font><font style="font-family:Arial;font-size:10pt;">six</font><font style="font-family:Arial;font-size:10pt;">-month periods ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">, and a decrease in the effective tax rate by </font><font style="font-family:Arial;font-size:10pt;">18</font><font style="font-family:Arial;font-size:10pt;">&#32;percentage points for the three-month and six-month periods ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;2, 2017</font><font style="font-family:Arial;font-size:10pt;">.  </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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 of the effective tax rate by </font><font style="font-family:Arial;font-size:10pt;">1</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">9</font><font style="font-family:Arial;font-size:10pt;">&#32;percentage points for the three-month periods ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">July&#160;2, 2017</font><font style="font-family:Arial;font-size:10pt;">, respectively, and a decrease of the effective tax rate by </font><font style="font-family:Arial;font-size:10pt;">5</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">19</font><font style="font-family:Arial;font-size:10pt;">&#32;percentage points for the </font><font style="font-family:Arial;font-size:10pt;">six</font><font style="font-family:Arial;font-size:10pt;">-month periods ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">July&#160;2, 2017</font><font style="font-family:Arial;font-size:10pt;">, respectively. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">On January 1, 2018, the Company adopted Accounting Standard Update (ASU) 2016-16, "Income Taxes - Intra-Entity Transfers of Assets Other than Inventory."  This Update requires the recognition of deferred income taxes for an intra-entity transfer of an asset other than inventory.  As a result of this ASU, the Company recorded </font><font style="font-family:Arial;font-size:10pt;">$5,961,000</font><font style="font-family:Arial;font-size:10pt;">&#32;through a cumulative-effect adjustment directly to retained earnings at the beginning of fiscal year 2018.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">22</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">COGNEX CORPORATION </font></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTES TO CONSOLIDATED FINANCIAL STATEMENTS (UNAUDITED) </font></div></div><div><br></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">During the </font><font style="font-family:Arial;font-size:10pt;">six</font><font style="font-family:Arial;font-size:10pt;">-month period ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">, the Company recorded a </font><font style="font-family:Arial;font-size:10pt;">$879,000</font><font style="font-family:Arial;font-size:10pt;">&#32;increase in reserves for income taxes, net of deferred tax benefit.  Estimated interest and penalties included in these amounts totaled </font><font style="font-family:Arial;font-size:10pt;">$136,000</font><font style="font-family:Arial;font-size:10pt;">&#32;for the </font><font style="font-family:Arial;font-size:10pt;">six</font><font style="font-family:Arial;font-size:10pt;">-month period ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s reserve for income taxes, including gross interest and penalties, was </font><font style="font-family:Arial;font-size:10pt;">$8,427,000</font><font style="font-family:Arial;font-size:10pt;">&#32;as of </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">, which included </font><font style="font-family:Arial;font-size:10pt;">$7,399,000</font><font style="font-family:Arial;font-size:10pt;">&#32;classified as a non-current liability and </font><font style="font-family:Arial;font-size:10pt;">$1,028,000</font><font style="font-family:Arial;font-size:10pt;">&#32;recorded as a reduction to non-current deferred tax assets.  The amount of gross interest and penalties included in these balances was </font><font style="font-family:Arial;font-size:10pt;">$924,000</font><font 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 </font><font style="font-family:Arial;font-size:10pt;">$1,100,000</font><font style="font-family:Arial;font-size:10pt;">&#32;to </font><font style="font-family:Arial;font-size:10pt;">$1,200,000</font><font style="font-family:Arial;font-size:10pt;">&#32;over the next twelve months.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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 </font><font style="font-family:Arial;font-size:10pt;">2014 through 2017</font><font style="font-family:Arial;font-size:10pt;">&#32;remain open to examination by the Internal Revenue Service and various state tax authorities.  The tax years </font><font style="font-family:Arial;font-size:10pt;">2013 through 2017</font><font style="font-family:Arial;font-size:10pt;">&#32;remain open to examination by various taxing authorities in other jurisdictions in which the Company operates. </font></div><div><a name="sA419CA6D0DE754EDB3958D446A018CEA"></a></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 13: Weighted-Average Shares</font></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Weighted-average shares were calculated as follows (in thousands):</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="12"></td></tr><tr><td style="width:53%;"></td><td style="width:10%;"></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:10%;"></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="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months Ended</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 colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Six-months Ended</font></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;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">July 1, 2018</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 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;"><font style="font-family:Arial;font-size:10pt;">July 2, 2017</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 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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">July 1, 2018</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 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;"><font style="font-family:Arial;font-size:10pt;">July 2, 2017</font></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;"><font style="font-family:Arial;font-size:10pt;">Basic weighted-average common shares outstanding</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">172,370</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">173,278</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">172,825</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;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;"><font style="font-family:Arial;font-size:10pt;">172,960</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Effect of dilutive stock options</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4,779</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,950</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5,593</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,944</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Weighted-average common and common-equivalent shares outstanding</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">177,149</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;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;"><font style="font-family:Arial;font-size:10pt;">179,228</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">178,418</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;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;"><font style="font-family:Arial;font-size:10pt;">178,904</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Stock options to purchase </font><font style="font-family:Arial;font-size:10pt;">2,959,000</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">2,032,000</font><font style="font-family:Arial;font-size:10pt;">&#32;shares of common stock, on a weighted-average basis, were outstanding during the three-month and six-month periods ended July 1, 2018, respectively, and </font><font style="font-family:Arial;font-size:10pt;">3,792,000</font><font style="font-family:Arial;font-size:10pt;">&#32;and </font><font style="font-family:Arial;font-size:10pt;">2,715,000</font><font style="font-family:Arial;font-size:10pt;">&#32;for the same periods in 2017, but were not included in the calculation of dilutive net income per share because they were anti-dilutive.</font></div><div><a name="s6B3261DEF74750DA9672DA2FD477A28B"></a></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">NOTE 14: Subsequent Events</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">On July 30, 2018, the Company&#8217;s Board of Directors declared a cash dividend of </font><font style="font-family:Arial;font-size:10pt;">$0.045</font><font style="font-family:Arial;font-size:10pt;">&#32;per share.  The dividend is payable </font><font style="font-family:Arial;font-size:10pt;">August&#160;31, 2018</font><font style="font-family:Arial;font-size:10pt;">&#32;to all shareholders of record as of the close of business on </font><font style="font-family:Arial;font-size:10pt;">August&#160;17, 2018</font><font style="font-family:Arial;font-size:10pt;">.                                       </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">23</font></div></div><hr style="page-break-after:always"><div><a name="s60B2FD40AA845A6AB506F85BC7895C39"></a></div><div><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;"><br></font></div></div><div><br></div><div style="line-height:120%;text-align:left;font-size:10pt;"><font 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</font></div><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Forward-Looking Statements</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font 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 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; (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; (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, 2017.  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.</font></div><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Executive Overview</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font 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.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s customers are predominantly in the factory automation market.  Factory automation customers purchase Cognex products and incorporate them into their manufacturing processes.  Customers in the consumer electronics and automotive industries contribute the largest percentage to the Company's factory automation revenue.  Most manufacturers can achieve better quality and manufacturing efficiency by using machine vision, and therefore, this market also includes a broad base of customers across a variety of other industries, including consumer products, food and beverage, medical devices, and pharmaceuticals.  Factory automation customers also purchase Cognex products for use outside of the manufacturing process, such as using ID products in logistics automation for package sorting and distribution.  A small percentage of the Company&#8217;s customers are in the semiconductor and electronics capital equipment market.  These customers purchase Cognex products and integrate them into the automation equipment that they manufacture and then sell to their customers to either make semiconductor chips or assemble printed circuit boards. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">On January 1, 2018, the Company adopted Accounting Standards Codification (ASC) 606, "Revenue from Contracts with Customers," using the full retrospective method to present all periods reported on a consistent basis.  Accordingly, prior period revenue, cost of revenue, and gross profit have been restated to apply the provisions of this ASC.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Revenue for the second quarter of 2018 totaled $211,264,000, representing an increase of 19% from the second quarter of 2017 driven primarily by strong sales in the logistics and automotive industries.  The gross margin percentage </font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">24</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;"><br></font></div></div><div><br></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">declined to 74% of revenue in the second quarter of 2018 from 76% of revenue in the second quarter of 2017 due primarily to a higher percentage of revenue related to application-specific customer solutions.  Operating expenses increased by 23% over the second quarter of 2017 due principally to the impact of headcount additions to support the higher revenue level and future growth plans.  Operating income increased by 6% over the second quarter of 2017; however, a lower tax benefit related to stock option exercises than the prior year resulted in relatively flat net income.  Net income per diluted share was $0.32 in both the second quarter of 2018 and 2017.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Results of Operations</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font 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.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Revenue</font></div><div style="line-height:120%;padding-bottom:10px;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Revenue increased by $33,184,000, or 19%, for the three-month period and increased by $63,712,000, or 20%, for the six-month period.  Changes in foreign currency exchange rates, primarily related to the translation of Euro-denominated revenue to U.S. Dollars, accounted for approximately 4% of the revenue increase in both periods.  The remaining constant-currency revenue increases came from higher sales in a variety of industries, with the largest contributions coming from the logistics and automotive industries.</font></div><div style="line-height:120%;padding-bottom:10px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As of the date of this report, we expect revenue for the third quarter of 2018 to increase sequentially from the second quarter of 2018.  Although we expect this growth to come from a variety of industries, the most notable increase is expected to come from the consumer electronics industry due to the quarterly timing of revenue from large customer orders in this industry.  The future quarterly timing of revenue in the consumer electronics industry will depend upon a number of factors, including the product introduction cycles of these customers.  Despite the level of quarterly revenue currently anticipated from customers in the consumer electronics industry in the third quarter of 2018, we expect consumer electronics revenue to be lower than the third quarter of 2017 and for the full year 2018 as compared to 2017.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Gross Margin</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross margin as a percentage of revenue was 74% and 75% for the three-month and six-month periods in 2018, respectively, compared to 76% for both periods in 2017.  Although a higher volume of products sold resulted in manufacturing efficiencies, this favorable impact was offset by a greater percentage of revenue related to application-specific customer solutions.&#160; These solutions typically have lower gross margins due to the application configuration and deployment services included as part of the solution, as well as on-site support services provided after the solution is deployed.&#160; In addition, these solutions are often provided to large customers that may receive favorable pricing.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company's gross margin percentage has ranged in the mid 70s for the past several years.  As of the date of this report, we expect the gross margin percentage to be relatively flat for the third quarter of 2018 as compared to the second quarter of 2018.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Operating Expenses</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Research, development, and engineering (RD&amp;E) expenses increased by $3,511,000, or 15%, for the three-month period and increased by $11,817,000, or 26%, for the six-month period as detailed in the table below (in thousands).</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">25</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;"><br></font></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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-month period</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Six-month period</font></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;"><font style="font-family:Arial;font-size:10pt;">RD&amp;E expense in 2017</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">23,377</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">46,147</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Personnel-related costs</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,854</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,593</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Stock-based compensation expense</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">416</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,545</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Prototyping materials</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">418</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,472</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Foreign currency exchange rate changes</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">532</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,448</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Other</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(709</font></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;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">759</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">RD&amp;E expenses in 2018</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">26,888</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></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;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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">57,964</font></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;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">RD&amp;E expenses increased due to higher personnel-related costs resulting primarily from headcount additions to support new product initiatives and the higher revenue level.  The Company also incurred higher spending on prototyping materials to support new product initiatives.  In addition, stock-based compensation expense was higher than the prior year due to a higher valuation of stock options granted, as well as a decrease in the estimated forfeiture rate during the first quarter of 2018.  Changes in foreign currency exchange rates also contributed to the increase, as expenses denominated in foreign currencies were translated to U.S. Dollars. </font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">RD&amp;E expenses as a percentage of revenue were 13% for the three-month periods in both 2018 and 2017 and 15% for the six-month periods in both 2018 and 2017.  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 we target our RD&amp;E spending to be between 10% and 15% of revenue on an annual basis.  This quarterly percentage is impacted by revenue levels and investing cycles. </font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Selling, General, and Administrative Expenses</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Selling, general, and administrative (SG&amp;A) expenses  increased by $14,234,000, or 27%, for the three-month period and increased by $31,410,000, or 32%, for the six-month period as detailed in the table below (in thousands). </font></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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-month period</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Six-month period</font></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;"><font style="font-family:Arial;font-size:10pt;">SG&amp;A expenses in 2017</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">52,518</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">99,039</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Personnel-related costs</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,953</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">19,409</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Stock-based compensation expense</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">584</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,597</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Foreign currency exchange rate changes</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,660</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,742</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Sales demonstration equipment</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,506</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,126</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Depreciation expense</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">827</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,883</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Other</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(296</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">653</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">SG&amp;A expenses in 2018</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#bfe4ff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#bfe4ff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">66,752</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#bfe4ff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#bfe4ff;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;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#bfe4ff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#bfe4ff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">130,449</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#bfe4ff;border-top:1px solid #000000;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">SG&amp;A expenses increased due to 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.  In addition, stock-based compensation expense was higher than the prior year due to a higher valuation of stock options granted, as well as a decrease in the estimated forfeiture rate during the first quarter of 2018.  Changes in foreign currency exchange rates also contributed to the increase, as expenses denominated in foreign currencies were translated to U.S. Dollars.  The Company also increased its spending on sales demonstration equipment related to new products and incurred higher depreciation expense due primarily to information technology investments in infrastructure, security, and business applications.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Non-operating Income (Expense)</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company recorded foreign currency losses of $195,000 and $329,000 for the three-month and six-month periods in 2018, respectively, compared to foreign currency losses of $184,000 and $447,000 for the three-month and six-month period in 2017.  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. </font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">26</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;"><br></font></div></div><div><br></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Investment income increased by $1,421,000, or 66%, for the three-month period and increased by $2,649,000, or 64%, for the six-month period.  The increase was due to higher yields on the Company's portfolio of debt securities, as well as additional funds available for investment.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company recorded other expense of $246,000 and other income of $31,000 for the three-month and six-month periods in 2018, respectively, compared to other expense of $169,000 and other income of $101,000 for the same periods in 2017.  Other income (expense) includes fair value adjustments of contingent consideration liabilities arising from business acquisitions, as well as rental income, net of associated expenses, from leasing space in buildings adjacent to the Company&#8217;s corporate headquarters.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Income Tax Expense</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s effective tax rate was an expense of 16% and 11% of pre-tax income for the three-month and six-month periods in 2018, respectively, compared to an expense of 9% of pre-tax income and a benefit of 1% of pre-tax income for the same periods in 2017.</font></div><div style="line-height:120%;padding-bottom:10px;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The effective tax rate included a decrease in tax expense of $654,000 and $5,589,000 for the three-month and six-month periods in 2018, respectively, and $5,787,000 and $18,954,000 for the same periods in 2017 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.  </font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Excluding the impact of tax benefits related to stock option exercises, the Company&#8217;s effective tax rate was 17% and 16% for the three-month and six-month periods in 2018, respectively, compared to 18% for the same periods in 2017.  This decrease in the effective tax rate was primarily due to the impact of the Tax Act.  The Tax Act included a decrease in the U.S. federal statutory corporate tax rate from 35% to 21%.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The majority of income earned outside of the United States is indefinitely reinvested to provide funds for international expansion.  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.  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.  The Company has not yet determined how the Tax Act will impact its financial statement assertion related to indefinite reinvestment in future years.</font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Liquidity and Capital Resources</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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 $754,883,000 as of July 1, 2018.  The Company has established guidelines relative to credit ratings, diversification, and maturities of its investments that maintain liquidity.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s cash requirements during the six months ended July 1, 2018 were met with positive cash flows from operations, investment maturities, and the proceeds from stock option exercises.  Cash requirements consisted of operating activities, investment purchases, the repurchase of common stock, the payment of dividends, and capital expenditures.  Operating cash outflows included the purchase of inventory for large customer orders already received or anticipated to be received that are expected to ship and generate revenue later in 2018.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Capital expenditures in the six-month period ended July 1, 2018 totaled $21,675,000 and consisted primarily 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 distribution center in Cork, Ireland.  Cumulative capital expenditures since the second quarter of 2017 related to application development activities for a new Enterprise Resource Planning (ERP) system totaled approximately $10,000,000 as of July 1, 2018.  This capital asset has been placed into service in the third quarter of 2018 and will be depreciated over a ten year estimated useful life.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In April 2017, the Company's Board of Directors authorized the repurchase of $100,000,000 of the Company's common stock.  As of July 1, 2018, the Company repurchased 1,744,000 shares at a cost of $100,000,000 under this program, including 803,000 shares at a cost of $45,200,000 in the first quarter of 2018.  Stock repurchases under this April 2017 program were completed in the first quarter of 2018.  In February, 2018, the Company's Board of Directors authorized the repurchase of an additional $150,000,000 of the Company's common stock.  Purchases under this February 2018 program commenced during the first quarter of 2018.  As of July 1, 2018, the Company repurchased 1,553,000 shares at a cost of $76,108,000 under this program, leaving a remaining authorized balance of $73,892,000.  Total stock repurchases in the six-month period ended July 1, 2018 amounted to $121,308,000.  The Company may repurchase </font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">27</font></div></div><hr style="page-break-after:always"><div><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;"><br></font></div></div><div><br></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">shares under this program in future periods 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.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s Board of Directors declared and paid a cash dividend of $0.0450 per share in the first and second quarters of 2018, amounting to $15,524,000 for the six-month period ended July 1, 2018.  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.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s business strategy includes selective expansion into new machine vision markets and applications through the acquisition of businesses and technologies.  Certain of the Company's business acquisitions have contractual obligations for deferred cash payments, contingent cash payments tied to performance, and special incentive cash payments tied to employment, none of which are material individually or in the aggregate to the Company's cash flows.</font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font 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 July 1, 2018, the Company had $754,883,000 in cash and investments.  In addition, Cognex 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.</font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">New Pronouncements</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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. </font></div><div><a name="s876254F14D8C5C898DE43D31E2769472"></a></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM&#160;3: QUANTITATIVE AND QUALITATIVE DISCLOSURES ABOUT MARKET RISK</font></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">There have been no material changes to the Company&#8217;s exposures to market risk since </font><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2017</font><font style="font-family:Arial;font-size:10pt;">.</font></div><div><a name="s56E3DDE30E475994B34B7C027BCC9999"></a></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM&#160;4: CONTROLS AND PROCEDURES</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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 Chief Financial Officer, the effectiveness of its disclosure controls and procedures (as defined in such rules) as of the end of the period covered by this report. Based on such evaluation, the Chief Executive Officer and Chief Financial Officer concluded that such disclosure controls and procedures were effective as of that date. From time to time, the Company reviews its disclosure controls and procedures, and may from time to time make changes aimed at enhancing their effectiveness and to ensure that the Company&#8217;s systems evolve with its business.  There was no change in the Company&#8217;s internal control over financial reporting that occurred during the quarter ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">&#32;that has materially affected, or is reasonably likely to materially affect, the Company&#8217;s internal control over financial reporting.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">28</font></div></div><hr style="page-break-after:always"><div><a name="s3EE7A91E6EC85210AA3D79BE0373E68B"></a></div><div><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;"><br></font></div></div><div><br></div><div style="line-height:120%;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">PART II: OTHER INFORMATION</font></div><div><a name="sB5772F317E895A83BDF41139FBB2C729"></a></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM&#160;1. LEGAL PROCEEDINGS</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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.</font></div><div><a name="s0F588080935559DC8C66517AECECDFEF"></a></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM&#160;1A. RISK FACTORS</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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 </font><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2017</font><font style="font-family:Arial;font-size:10pt;">.</font></div><div><a name="sBE6C01DB219753AC94B2BFBFAC24EB94"></a></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM&#160;2. UNREGISTERED SALES OF EQUITY SECURITIES AND USE OF PROCEEDS</font></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font 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 July 1, 2018:</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="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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Total</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Number</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">of Shares</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Purchased</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 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;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Average</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Price&#160;Paid</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">per Share</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 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;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Total&#160;Number&#160;of</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Shares</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Purchased as</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Part of Publicly</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Announced</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Plans or</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Programs (1)</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 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;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Approximate</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Dollar Value</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">of Shares that</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">May Yet Be</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Purchased</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Under the</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Plans or</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Programs</font></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;"><font style="font-family:Arial;font-size:10pt;">April 2 - April 29, 2018</font></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;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">125,998,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">April 30 - May 27, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,099,901</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">47.37</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,099,901</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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 colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">73,892,000</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">May 28 - July 1, 2018</font></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;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;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;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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 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;"><font style="font-family:Arial;font-size:10pt;">73,892,000</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">Total</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,099,901</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">47.37</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,099,901</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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;"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">73,892,000</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td></tr></table></div></div><div style="line-height:120%;text-align:justify;padding-left:48px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1) In February 2018, the Company's Board of Directors authorized the repurchase of $150,000,000 of the Company's common stock. Purchases under this program commenced in February 2018.</font></div><div><a name="sA4072C73B8C05C0FB8E5B1E676E13D60"></a></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM&#160;3. DEFAULTS UPON SENIOR SECURITIES</font></div><div style="line-height:120%;padding-top:8px;text-indent:32px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">None.</font></div><div><a name="s8FB46498E95E547EA827AAB012E19062"></a></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM&#160;4. MINE SAFETY DISCLOSURES</font></div><div style="line-height:120%;padding-top:8px;text-indent:32px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Not applicable.</font></div><div><a name="s389CB7C5E97A506BA6D0369E024D1464"></a></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM&#160;5. OTHER INFORMATION</font></div><div style="line-height:120%;padding-top:8px;text-indent:32px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">None.</font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">29</font></div></div><hr style="page-break-after:always"><div><a name="sAB96DE484EEC50979F50FE367BAB5972"></a></div><div><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;"><br></font></div></div><div><br></div><div style="line-height:120%;-sec-extract:summary;font-size:10pt;"><font style="font-family:Arial;font-size:6pt;">&#160;</font><font style="font-family:Arial;font-size:10pt;font-weight:bold;">ITEM&#160;6. EXHIBITS</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="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;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;text-decoration:underline;">Exhibit Number</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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;background-color:#cceeff;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></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3.1</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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: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="http://www.sec.gov/Archives/edgar/data/851205/000085120516000035/exhibit31.htm"><font style="font-family:Arial;font-size:10pt;color:#000000;">Restated Articles of Organization of Cognex Corporation effective June 27, 1989, as amended through May 5, 2016 (incorporated herein by reference to Exhibit 3.1 of Cognex&#8217;s Quarterly Report on Form 10-Q for the fiscal quarter ended July 3, 2016, as filed on August 1, 2016).</font></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;"><font style="font-family:Arial;font-size:10pt;">3.2</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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: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="http://www.sec.gov/Archives/edgar/data/851205/000085120516000035/exhibit32.htm"><font style="font-family:Arial;font-size:10pt;color:#000000;">Articles of Amendment to Articles of Organization of Cognex Corporation establishing Series E Junior Participating Cumulative Preferred Stock (incorporated herein by reference to Exhibit 3.2 of Cognex&#8217;s Quarterly Report on Form 10-Q for the fiscal quarter ended July 3, 2016, as filed on August 1, 2016).</font></a></div><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></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;"><font style="font-family:Arial;font-size:10pt;">3.3</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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: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="http://www.sec.gov/Archives/edgar/data/851205/000119312518154489/d581899dex42.htm"><font style="font-family:Arial;font-size:10pt;color:#000000;">Articles of Amendment to Restated Articles of Organization of Cognex Corporation, effective May 2, 2018 (incorporated herein by reference to Exhibit 4.2 of Cognex&#8217;s Registration Statement on Form S-8 (Registration No. 333-224716) as filed on May 7, 2018).</font></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;"><font style="font-family:Arial;font-size:10pt;">10.1</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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: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="http://www.sec.gov/Archives/edgar/data/851205/000119312518154489/d581899dex991.htm"><font style="font-family:Arial;font-size:10pt;color:#000000;">Cognex Corporation 2001 General Stock Option Plan, as Amended and Restated (incorporated herein by reference to Exhibit 99.1 of Cognex&#8217;s Registration Statement on Form S-8 (Registration No. 333-224716) as filed on May 7, 2018).</font></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;"><font style="font-family:Arial;font-size:10pt;">31.1</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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: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="a712018-10qxexhibit311.htm"><font style="font-family:Arial;font-size:10pt;color:#000000;">Certification of Chief Executive Officer pursuant to Rule 13a-14(a)/15d-14(a) under the Securities Exchange Act of 1934*</font></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;"><font style="font-family:Arial;font-size:10pt;">31.2</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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: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="a712018-10qxexhibit312.htm"><font style="font-family:Arial;font-size:10pt;color:#000000;">Certification of Chief Financial Officer pursuant to Rule 13a-14(a)/15d-14(a) under the Securities Exchange Act of 1934*</font></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;"><font style="font-family:Arial;font-size:10pt;">32.1</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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: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="a712018-10qxexhibit321.htm"><font style="font-family:Arial;font-size:10pt;color:#000000;">Certification of Chief Executive Officer pursuant to 18 U.S.C. 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002**</font></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;"><font style="font-family:Arial;font-size:10pt;">32.2</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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: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="a712018-10qxexhibit322.htm"><font style="font-family:Arial;font-size:10pt;color:#000000;">Certification of Chief Financial Officer pursuant to 18 U.S.C. 1350, as adopted pursuant to Section 906 of the Sarbanes-Oxley Act of 2002**</font></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;"><font style="font-family:Arial;font-size:10pt;">101</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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: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;">xBRL (Extensible Business Reporting Language)</font></div></td></tr><tr><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;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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:top;background-color:#cceeff;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;">The following materials from Cognex Corporation&#8217;s Quarterly Report on Form 10-Q for the period ended July 1, 2018, formatted in xBRL: (i) Consolidated Statements of Operations for the three-month and six-month periods ended July 1, 2018 and July 2, 2017; (ii) Consolidated Statements of Comprehensive Income for the three-month and six-month periods ended July 1, 2018 and July 2, 2017; (iii) Consolidated Balance Sheets as of July 1, 2018 and December 31, 2017; (iv) Consolidated Statements of Cash Flows for the six-month periods ended July 1, 2018 and July 2, 2017; (v) Consolidated Statement of Shareholders&#8217; Equity for the six-month period ended July 1, 2018; and (vi) Notes to Consolidated Financial Statements.</font></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;"><font style="font-family:Arial;font-size:10pt;">*</font></div></td><td style="vertical-align:bottom;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></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: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;">Filed herewith</font></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;"><font style="font-family:Arial;font-size:10pt;">**</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;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:top;background-color:#cceeff;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;">Furnished herewith</font></div></td></tr></table></div></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">30</font></div></div><hr style="page-break-after:always"><div><a name="sF73D6F5C8B3556E1BA046DE1A244AB09"></a></div><div><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;"><br></font></div></div><div><br></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">SIGNATURES</font></div><div style="line-height:120%;padding-top:16px;font-size:10pt;"><font 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.</font></div><div style="line-height:120%;font-size:12pt;"><font style="font-family:Arial;font-size:12pt;">&#160;</font><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;"><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;">July&#160;30, 2018</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 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;"><font style="font-family:Arial;font-size:10pt;">COGNEX CORPORATION</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;height:5px;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;height:5px;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;height:5px;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;height:5px;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;height:5px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</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: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: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;">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: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;">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: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;">(principal 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;height:20px;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;height:20px;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;height:20px;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;height:20px;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;height:20px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</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: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/ John J. Curran</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: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;">John J. Curran</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: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;">Senior Vice President of Finance, Chief Financial Officer, and Treasurer</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: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;">(principal financial and accounting officer)</font></div></td></tr></table></div></div><div style="line-height:120%;text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br></font></div><div><br></div><div style="text-align:center;"><div style="line-height:120%;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">31</font></div></div>	</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-31.1
<SEQUENCE>2
<FILENAME>a712018-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 2018 Workiva -->
		<title>Exhibit</title>
	</head>
	<body style="font-family:Times New Roman;font-size:10pt;">
<div><a name="sB17E29605F685BF292F2F8BC467210E4"></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;">July&#160;30, 2018</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></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>a712018-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 2018 Workiva -->
		<title>Exhibit</title>
	</head>
	<body style="font-family:Times New Roman;font-size:10pt;">
<div><a name="sCFB803A63D8A5B91B5D317AEDB8C58C4"></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, John J. Curran, 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;">July&#160;30, 2018</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/ John J. Curran</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;">John J. Curran</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;">Senior Vice President of Finance, Chief Financial Officer, and Treasurer</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>a712018-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 2018 Workiva -->
		<title>Exhibit</title>
	</head>
	<body style="font-family:Times New Roman;font-size:10pt;">
<div><a name="s596A38CDBE575045B5620B2F9EC68B6B"></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;">July&#160;1, 2018</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;">July&#160;30, 2018</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>a712018-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 2018 Workiva -->
		<title>Exhibit</title>
	</head>
	<body style="font-family:Times New Roman;font-size:10pt;">
<div><a name="sA19D7DF6455250F6AE49973DE588A7BB"></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 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;">July&#160;1, 2018</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;">July&#160;30, 2018</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/ John J. Curran</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;">John J. Curran</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;">Senior Vice President of Finance, Chief Financial Officer, and Treasurer</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 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.INS
<SEQUENCE>6
<FILENAME>cgnx-20180701.xml
<DESCRIPTION>XBRL INSTANCE DOCUMENT
<TEXT>
<XBRL>
<?xml version="1.0" encoding="US-ASCII"?>
<!--XBRL Document Created with Wdesk from Workiva-->
<!--p:C0BCE9104E3C5D4C812481E65AD840B2,x:eb2e93ccf829435593af3a03a42026f9-->
<xbrli:xbrl xmlns:cgnx="http://www.cognex.com/20180701" 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/2014-01-31" xmlns:exch="http://xbrl.sec.gov/exch/2017-01-31" xmlns:invest="http://xbrl.sec.gov/invest/2013-01-31" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:naics="http://xbrl.sec.gov/naics/2017-01-31" xmlns:nonnum="http://www.xbrl.org/dtr/type/non-numeric" xmlns:num="http://www.xbrl.org/dtr/type/numeric" xmlns:ref="http://www.xbrl.org/2006/ref" xmlns:sic="http://xbrl.sec.gov/sic/2011-01-31" xmlns:stpr="http://xbrl.sec.gov/stpr/2011-01-31" xmlns:us-gaap="http://fasb.org/us-gaap/2017-01-31" xmlns:us-roles="http://fasb.org/us-roles/2017-01-31" xmlns:us-types="http://fasb.org/us-types/2017-01-31" xmlns:utreg="http://www.xbrl.org/2009/utr" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:xbrldt="http://xbrl.org/2005/xbrldt" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
	<link:schemaRef xlink:href="cgnx-20180701.xsd" xlink:type="simple" />
	<xbrli:context id="FD2018Q2YTD">
		<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-07-01</xbrli:endDate>
		</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="FD2017Q2QTD">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2017-04-03</xbrli:startDate>
			<xbrli:endDate>2017-07-02</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q2QTD">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-04-02</xbrli:startDate>
			<xbrli:endDate>2018-07-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2017Q2YTD">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2017-01-01</xbrli:startDate>
			<xbrli:endDate>2017-07-02</xbrli:endDate>
		</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="FI2017Q2">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2017-07-02</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2016Q4">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2016-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q2YTD_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-07-01</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_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="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="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="FD2018Q2YTD_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-07-01</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="FD2018Q2YTD_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-07-01</xbrli:endDate>
		</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="FD2018Q2YTD_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-07-01</xbrli:endDate>
		</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="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="FD2018Q2YTD_us-gaap_BusinessAcquisitionAxis_cgnx_ManateeWorksInc.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:ManateeWorksInc.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>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-07-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q2YTD_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>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-07-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q2_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-07-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2017Q4_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>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q2YTD_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>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-07-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q2_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_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:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-07-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q2_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_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:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:MunicipalBondsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-07-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q2_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_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:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-07-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q2_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>2018-07-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q2_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_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:MajorTypesOfDebtAndEquitySecuritiesAxis">cgnx:AgencyBondsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-07-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q2_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>2018-07-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q2_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_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:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:SovereignDebtSecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-07-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q2_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_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:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-07-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2017Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:USTreasurySecuritiesMember</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_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-07-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2017Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-07-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2017Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:SovereignDebtSecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:SovereignDebtSecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-07-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-07-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">cgnx:AgencyBondsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-07-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:MunicipalBondsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-07-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2017Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:MunicipalBondsMember</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_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">cgnx:AgencyBondsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q2_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">cgnx:LongTermInvestmentsMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:SovereignDebtSecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-07-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q2_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">cgnx:LongTermInvestmentsMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-07-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q2_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:MunicipalBondsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-07-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q2_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:AssetBackedSecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-07-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q2_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">cgnx:LongTermInvestmentsMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-07-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q2_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:SovereignDebtSecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-07-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q2_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:CorporateBondSecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-07-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q2_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:USTreasurySecuritiesMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-07-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q2_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">cgnx:LongTermInvestmentsMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">cgnx:AgencyBondsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-07-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q2_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">us-gaap:ShortTermInvestmentsMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">cgnx:AgencyBondsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-07-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q2_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:InvestmentTypeAxis">cgnx:LongTermInvestmentsMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:MajorTypesOfDebtAndEquitySecuritiesAxis">us-gaap:MunicipalBondsMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-07-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2017Q4_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>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2017Q4_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>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q2_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-07-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q2_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-07-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2017Q4_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>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q2_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-07-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2017Q4_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>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q2_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-07-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2017Q4_us-gaap_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="us-gaap:CurrencyAxis">currency:JPY</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q2_us-gaap_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="us-gaap: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-07-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2017Q4_us-gaap_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="us-gaap:CurrencyAxis">currency:HUF</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q2_us-gaap_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="us-gaap: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-07-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q2_us-gaap_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="us-gaap: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-07-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q2_us-gaap_CurrencyAxis_currency_CHF_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:CurrencyAxis">currency:CHF</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-07-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2017Q4_us-gaap_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="us-gaap:CurrencyAxis">currency:SGD</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</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_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="us-gaap:CurrencyAxis">currency:GBP</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</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_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="us-gaap:CurrencyAxis">currency:EUR</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q2_us-gaap_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="us-gaap: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-07-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2017Q4_us-gaap_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="us-gaap:CurrencyAxis">currency:KRW</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q2_us-gaap_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="us-gaap: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-07-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q2_us-gaap_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="us-gaap: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-07-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2017Q4_us-gaap_CurrencyAxis_currency_CHF_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:CurrencyAxis">currency:CHF</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q2_us-gaap_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="us-gaap: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-07-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2017Q4_us-gaap_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="us-gaap:CurrencyAxis">currency:CAD</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q2_us-gaap_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="us-gaap: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-07-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2017Q4_us-gaap_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="us-gaap:CurrencyAxis">currency:TWD</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:NondesignatedMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q2_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-07-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2017Q4_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>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q2_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-07-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2017Q4_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>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q2YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-07-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q2YTD_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>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-07-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2017Q2QTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesRevenueGoodsNetMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SalesRevenueGoodsNetMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2017-04-03</xbrli:startDate>
			<xbrli:endDate>2017-07-02</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q2YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_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:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
				<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-07-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q2QTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_CashFlowHedgingMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CashFlowHedgingMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-04-02</xbrli:startDate>
			<xbrli:endDate>2018-07-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q2QTD_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-04-02</xbrli:startDate>
			<xbrli:endDate>2018-07-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2017Q2QTD_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>2017-04-03</xbrli:startDate>
			<xbrli:endDate>2017-07-02</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q2YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_GeneralAndAdministrativeExpenseMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-07-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2017Q2YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_CashFlowHedgingMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CashFlowHedgingMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2017-01-01</xbrli:startDate>
			<xbrli:endDate>2017-07-02</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2017Q2QTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_CashFlowHedgingMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CashFlowHedgingMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2017-04-03</xbrli:startDate>
			<xbrli:endDate>2017-07-02</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q2YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_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:DesignatedAsHedgingInstrumentMember</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-07-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q2QTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_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:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ForeignCurrencyGainLossMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-04-02</xbrli:startDate>
			<xbrli:endDate>2018-07-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2017Q2QTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_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:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2017-04-03</xbrli:startDate>
			<xbrli:endDate>2017-07-02</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2017Q2QTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_GeneralAndAdministrativeExpenseMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2017-04-03</xbrli:startDate>
			<xbrli:endDate>2017-07-02</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q2YTD_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-07-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2017Q2YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesRevenueGoodsNetMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SalesRevenueGoodsNetMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2017-01-01</xbrli:startDate>
			<xbrli:endDate>2017-07-02</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2017Q2YTD_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>2017-01-01</xbrli:startDate>
			<xbrli:endDate>2017-07-02</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2017Q2YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_GeneralAndAdministrativeExpenseMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2017-01-01</xbrli:startDate>
			<xbrli:endDate>2017-07-02</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q2YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesRevenueGoodsNetMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SalesRevenueGoodsNetMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-07-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2017Q2YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_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:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ForeignCurrencyGainLossMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2017-01-01</xbrli:startDate>
			<xbrli:endDate>2017-07-02</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q2QTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesRevenueGoodsNetMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:SalesRevenueGoodsNetMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-04-02</xbrli:startDate>
			<xbrli:endDate>2018-07-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2017Q2YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_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:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2017-01-01</xbrli:startDate>
			<xbrli:endDate>2017-07-02</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q2YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_CashFlowHedgingMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:CashFlowHedgingMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-07-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q2QTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_GeneralAndAdministrativeExpenseMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-04-02</xbrli:startDate>
			<xbrli:endDate>2018-07-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2017Q2QTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_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:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ForeignCurrencyGainLossMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2017-04-03</xbrli:startDate>
			<xbrli:endDate>2017-07-02</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q2QTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_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:HedgingDesignationAxis">us-gaap:DesignatedAsHedgingInstrumentMember</xbrldi:explicitMember>
				<xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:ResearchAndDevelopmentExpenseMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-04-02</xbrli:startDate>
			<xbrli:endDate>2018-07-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q2YTD_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-07-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2017Q2QTD_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>2017-04-03</xbrli:startDate>
			<xbrli:endDate>2017-07-02</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q2YTD_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-07-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q2QTD_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-04-02</xbrli:startDate>
			<xbrli:endDate>2018-07-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2017Q2YTD_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>2017-01-01</xbrli:startDate>
			<xbrli:endDate>2017-07-02</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2017Q2QTD_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>2017-04-03</xbrli:startDate>
			<xbrli:endDate>2017-07-02</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2017Q2QTD_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>2017-04-03</xbrli:startDate>
			<xbrli:endDate>2017-07-02</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2017Q2YTD_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>2017-01-01</xbrli:startDate>
			<xbrli:endDate>2017-07-02</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q2QTD_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-04-02</xbrli:startDate>
			<xbrli:endDate>2018-07-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2017Q2YTD_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>2017-01-01</xbrli:startDate>
			<xbrli:endDate>2017-07-02</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q2YTD_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-07-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q2QTD_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-04-02</xbrli:startDate>
			<xbrli:endDate>2018-07-01</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="FD2017Q1QTD">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2017-01-01</xbrli:startDate>
			<xbrli:endDate>2017-04-02</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q2YTD_us-gaap_PlanNameAxis_cgnx_GeneralStockOptionPlanMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">cgnx:GeneralStockOptionPlanMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-07-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q2_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>2018-07-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q2YTD_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>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-07-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q2YTD_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-07-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q2_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-07-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2017Q4_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockMember</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2017-12-31</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q2YTD_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramApril2017Member">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">cgnx:RepurchaseProgramApril2017Member</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-07-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="I2018Q1Feb28_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramFebruary2018Member">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">cgnx:RepurchaseProgramFebruary2018Member</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-02-28</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q2_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramApril2017Member">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">cgnx:RepurchaseProgramApril2017Member</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-07-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q2YTD_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramApril2017andFebruary2018Member">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">cgnx:RepurchaseProgramApril2017andFebruary2018Member</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-07-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="I2015Q4SD_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramApril2017Member">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">cgnx:RepurchaseProgramApril2017Member</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2015-11-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q2YTD_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramFebruary2018Member">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">cgnx:RepurchaseProgramFebruary2018Member</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-07-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FI2018Q2_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramFebruary2018Member">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">cgnx:RepurchaseProgramFebruary2018Member</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:instant>2018-07-01</xbrli:instant>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q2YTD_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>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-07-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q2YTD_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>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-07-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="FD2018Q2YTD_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>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-07-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="D2018Q1_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate201616Member">
		<xbrli:entity>
			<xbrli:identifier scheme="http://www.sec.gov/CIK">0000851205</xbrli:identifier>
			<xbrli:segment>
				<xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201616Member</xbrldi:explicitMember>
			</xbrli:segment>
		</xbrli:entity>
		<xbrli:period>
			<xbrli:startDate>2018-01-01</xbrli:startDate>
			<xbrli:endDate>2018-01-01</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:context id="D2018Q2SD_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>2018-07-30</xbrli:startDate>
			<xbrli:endDate>2018-07-30</xbrli:endDate>
		</xbrli:period>
	</xbrli:context>
	<xbrli:unit id="Category">
		<xbrli:measure>cgnx:Category</xbrli:measure>
	</xbrli:unit>
	<xbrli:unit id="huf">
		<xbrli:measure>iso4217:HUF</xbrli:measure>
	</xbrli:unit>
	<xbrli:unit id="gbp">
		<xbrli:measure>iso4217:GBP</xbrli:measure>
	</xbrli:unit>
	<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="chf">
		<xbrli:measure>iso4217:CHF</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="eur">
		<xbrli:measure>iso4217:EUR</xbrli:measure>
	</xbrli:unit>
	<xbrli:unit id="group">
		<xbrli:measure>cgnx:group</xbrli:measure>
	</xbrli:unit>
	<xbrli:unit id="usd">
		<xbrli:measure>iso4217:USD</xbrli:measure>
	</xbrli:unit>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue contextRef="FI2018Q2" decimals="-3" id="Fact-3F04C59F0E56487702B894A11E73E0B8" unitRef="usd">7775000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-0B53E6378551D5B4718194A11E6F329D" unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-A8B8ADA43F9362CE46F994A11E6E675A" unitRef="usd">4410000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-B410F9A3DBCEAD95004C94A11E617514" unitRef="usd">3365000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-10E01658C67A1CE8E90594A11E5F9C70" unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-513EE8CAEB28E7627D7C94A11E74DE3C" unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-0782F8BAD156AD0F234294A11E6E38D4" unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue contextRef="FI2018Q2" decimals="-3" id="Fact-AE33B9690186C604D8AD94A11E6EC8BC" unitRef="usd">19447000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-D9E8729D51434FF8A96194A11E6B05B7" unitRef="usd">5934000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-55770F765D0BE244218D94A11E71652F" unitRef="usd">5809000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-A06A926B960BD9DB19C794A11E637436" unitRef="usd">7704000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-BB95F56D35C850F3BCBB94A11E7739FE" unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-89C4CC561B177C15372294A11E71F388" unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-21566F160687D1A4488094A11E6D61A2" unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue contextRef="FI2018Q2" decimals="-3" id="Fact-ED78C677B95A1766115D94A11E7A8FAB" unitRef="usd">132990000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-D4A8A12E5ACBE24EE5C894A11E7F2E53" unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-714EBCAA7B78ADFED92694A11E6EF27B" unitRef="usd">31023000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-E382E81F62A87741B19094A11E758D49" unitRef="usd">96004000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-D6A6CE2AC53CFAA7F24694A11E6FD658" unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-8AC5AE5D07CBBB9B060794A11E7122E7" unitRef="usd">5963000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-F8645C605C504668016594A11E639E33" unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue contextRef="FI2018Q2" decimals="-3" id="Fact-0FE5F85B04119DE29A6D94A11E5F4681" unitRef="usd">33811000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-14FDBE5181676192FD2B94A11E706A6E" unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-0F326A4080B9B0185E7094A11E7753D1" unitRef="usd">4320000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-E26C177FF59A709009F194A11E728F99" unitRef="usd">29491000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-A77E1C92E9F1C6DF6BAE94A11E7C5F1A" unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-D9B7E9EC33CBC0FADBFD94A11E6DF96C" unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-073F42324E945C9B12D294A11E72DEAB" unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue contextRef="FI2018Q2" decimals="-3" id="Fact-D03AAA43B63482BDCE0494A11E6CAB1F" unitRef="usd">77918000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-21157518C3EAEF8ED13F94A11E6DAA0B" unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-76F3CA4DE2EAE41D3C2B94A11E5F89B1" unitRef="usd">2178000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-60389E4557F76EC1F2F794A11E62794C" unitRef="usd">71890000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-D3381C28A97F0EA55B5594A11E6F22D7" unitRef="usd">842000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-FAD7EF73DEFAD349D90494A11E72E0E0" unitRef="usd">3008000</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue>
	<cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-1C7FB8B940A965A5924A94A11E7F9A39" unitRef="usd">0</cgnx:AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue>
	<cgnx:CashCashEquivalentsShortTermAndLongTermInvestments contextRef="FI2017Q4" decimals="-3" id="Fact-DA8A1BF3B833E833530B94A11E21D98C" unitRef="usd">827984000</cgnx:CashCashEquivalentsShortTermAndLongTermInvestments>
	<cgnx:CashCashEquivalentsShortTermAndLongTermInvestments contextRef="FI2018Q2" decimals="-3" id="Fact-40B7ED38703F845A2FA994A11E26488D" unitRef="usd">754883000</cgnx:CashCashEquivalentsShortTermAndLongTermInvestments>
	<cgnx:EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent contextRef="FD2017Q2QTD" decimals="2" id="Fact-5F7A436BB68EB600217A94A11E40470A" unitRef="number">0.09</cgnx:EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent>
	<cgnx:EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent contextRef="FD2017Q2YTD" decimals="2" id="Fact-60DA2389FA39B275AB3694A11DF64AA5" unitRef="number">0.19</cgnx:EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent>
	<cgnx:EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent contextRef="FD2018Q2QTD" decimals="2" id="Fact-45BBDD11C999B27234E694A11E38AAB9" unitRef="number">0.01</cgnx:EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent>
	<cgnx:EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent contextRef="FD2018Q2YTD" decimals="2" id="Fact-73E7353BFD24AA2A4EC994A11DF6B992" unitRef="number">0.05</cgnx:EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent>
	<cgnx:EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount contextRef="FI2018Q2" decimals="INF" id="Fact-7A64FBC68689126771ED94A11E510D1D" unitRef="usd">0</cgnx:EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount>
	<cgnx:EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition contextRef="FD2018Q2YTD" id="Fact-788E0037082D1E7B644B94A11E5D5414">P1Y9M18D</cgnx:EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition>
	<cgnx:EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement contextRef="FI2018Q2" decimals="2" id="Fact-9D7D23D2D42D78DC9E3894A11E474D1E" unitRef="number">0.12</cgnx:EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement>
	<cgnx:EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement contextRef="FI2018Q2" decimals="2" id="Fact-844FD64D2C6FB4AC5A1B94A11E5E887E" unitRef="number">0.08</cgnx:EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement>
	<cgnx:ExpirationPeriodOfStockOptionPlan contextRef="FD2018Q2YTD_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember" id="Fact-D7517AE0197610A7832F94A11E576F74">P10Y</cgnx:ExpirationPeriodOfStockOptionPlan>
	<cgnx:IncomeTaxExaminationYearsUnderExaminationOtherEntities contextRef="FD2018Q2YTD" id="Fact-42B94A913CED1217DA0494A11DF51012">2013 through 2017</cgnx:IncomeTaxExaminationYearsUnderExaminationOtherEntities>
	<cgnx:IncreaseDecreaseInterestAndPenalties contextRef="FD2018Q2YTD" decimals="-3" id="Fact-B439447A22982A991C4694A11E4193AA" unitRef="usd">136000</cgnx:IncreaseDecreaseInterestAndPenalties>
	<cgnx:IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates contextRef="FD2017Q1QTD" decimals="0" id="Fact-4AE5EB5DE35AD5A97EA294A11E5AC851" unitRef="usd">673000</cgnx:IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates>
	<cgnx:IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates contextRef="FD2018Q1QTD" decimals="0" id="Fact-582E257B204290A869A494A11E536FF5" unitRef="usd">1283000</cgnx:IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates>
	<cgnx:LiabilityForUncertainTaxPositions contextRef="FI2018Q2" decimals="-3" id="Fact-02C5D2A368F80D160D8294A11E395549" unitRef="usd">8427000</cgnx:LiabilityForUncertainTaxPositions>
	<cgnx:MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves contextRef="FD2018Q2YTD" decimals="-3" id="Fact-19FB24FC48FB7B7E4A0394A11E34CCDA" unitRef="usd">1200000</cgnx:MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves>
	<cgnx:MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves contextRef="FD2018Q2YTD" decimals="-3" id="Fact-5631CBD1FF6E9AC0D92D94A11DF57291" unitRef="usd">1100000</cgnx:MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves>
	<cgnx:NumberOfGroupsWithinEmployeePopulation contextRef="FI2018Q2" decimals="INF" id="Fact-F6FB0B8FD33C61A02ABD94A11E5340FD" unitRef="group">2</cgnx:NumberOfGroupsWithinEmployeePopulation>
	<cgnx:Paymentofcontingentconsideration contextRef="FD2017Q2YTD" decimals="-3" id="Fact-519E103D5D34A1D3B38F94A11DFD988B" unitRef="usd">0</cgnx:Paymentofcontingentconsideration>
	<cgnx:Paymentofcontingentconsideration contextRef="FD2018Q2YTD" decimals="-3" id="Fact-AC6FFBA62BEF1C1586C794A11E2EBA5C" unitRef="usd">1000000</cgnx:Paymentofcontingentconsideration>
	<cgnx:Paymentofcontingentconsideration contextRef="FD2018Q2YTD_us-gaap_BusinessAcquisitionAxis_cgnx_GViVenturesInc.Member_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-3D14E328BB6A1CEFE57194A11E3DE77B" unitRef="usd">1000000</cgnx:Paymentofcontingentconsideration>
	<cgnx:PaymentsForDivestitureofBusinesses contextRef="FD2017Q2YTD" decimals="-3" id="Fact-7A6518A290F4B9990E5694A11DF86E82" unitRef="usd">291000</cgnx:PaymentsForDivestitureofBusinesses>
	<cgnx:PaymentsForDivestitureofBusinesses contextRef="FD2018Q2YTD" decimals="-3" id="Fact-9A0C1A6BA36EE755154294A11DFD4919" unitRef="usd">0</cgnx:PaymentsForDivestitureofBusinesses>
	<cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue contextRef="FI2018Q2" decimals="-3" id="Fact-80134AEBBE58E00E29F894A11E5F0968" unitRef="usd">117767000</cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue>
	<cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue contextRef="FD2017Q2QTD" decimals="0" id="Fact-2A9F2BFD4BFDA8177C8194A11E46E693" unitRef="usd">725000</cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue>
	<cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue contextRef="FD2017Q2YTD" decimals="0" id="Fact-DFBC593E6CD45C97912794A11E54A3B9" unitRef="usd">18713000</cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue>
	<cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue contextRef="FD2018Q2QTD" decimals="0" id="Fact-7192A6FA5D6DC2A7162594A11E5CA5E5" unitRef="usd">887000</cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue>
	<cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue contextRef="FD2018Q2YTD" decimals="0" id="Fact-51232F995B38542AFD5A94A11E5B647C" unitRef="usd">26560000</cgnx:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue>
	<cgnx:SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue contextRef="FD2017Q2QTD" decimals="0" id="Fact-0FFF8EEA1EEED2D1F74694A11E46EC1D" unitRef="usd">19408000</cgnx:SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue>
	<cgnx:SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue contextRef="FD2017Q2YTD" decimals="0" id="Fact-ECE894A6C12973E7869E94A11E54D20E" unitRef="usd">72451000</cgnx:SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue>
	<cgnx:SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue contextRef="FD2018Q2QTD" decimals="0" id="Fact-0DB6CCF2FD6404F3D19B94A11E505E2C" unitRef="usd">4902000</cgnx:SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue>
	<cgnx:SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue contextRef="FD2018Q2YTD" decimals="0" id="Fact-97E9602723E23B27EF0194A11E5F5B28" unitRef="usd">32991000</cgnx:SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue>
	<cgnx:StockRepurchaseProgramAggregateNumberofSharesRepurchased contextRef="FI2018Q2_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramApril2017Member" decimals="-3" id="Fact-6DBFF0B4D1C4B1A893F494A11DF4CF08" unitRef="shares">1744000</cgnx:StockRepurchaseProgramAggregateNumberofSharesRepurchased>
	<cgnx:StockRepurchaseProgramValue contextRef="FI2018Q2_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramApril2017Member" decimals="-3" id="Fact-788666BEDFA362AD16B694A11E8097CB" unitRef="usd">100000000</cgnx:StockRepurchaseProgramValue>
	<cgnx:TaxyearsopentoexaminationbyInternalRevenueService contextRef="FD2018Q2YTD" id="Fact-46606B52DDA5D32DBC3E94A11DF56169">2014 through 2017</cgnx:TaxyearsopentoexaminationbyInternalRevenueService>
	<cgnx:Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets contextRef="FI2018Q2" decimals="-3" id="Fact-76D52909FC7973229FD694A11E31A2B2" unitRef="usd">1028000</cgnx:Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets>
	<cgnx:Vestingperiodperformancebasedrestrictedstockyears contextRef="FD2018Q2YTD" id="Fact-5D9E24F98505DA5754D594A11E473C65">P1Y</cgnx:Vestingperiodperformancebasedrestrictedstockyears>
	<cgnx:Vestingperiodtimebasedrestrictedstockyears contextRef="FD2018Q2YTD" id="Fact-D5189E58651CA786B5D094A11E56D82C">P3Y</cgnx:Vestingperiodtimebasedrestrictedstockyears>
	<dei:AmendmentFlag contextRef="FD2018Q2YTD" id="Fact-A73372BD5A1C4794839694A11E0F1200">false</dei:AmendmentFlag>
	<dei:CurrentFiscalYearEndDate contextRef="FD2018Q2YTD" id="Fact-B42B9964BF36317CD7B394A11E42855E">--12-31</dei:CurrentFiscalYearEndDate>
	<dei:DocumentFiscalPeriodFocus contextRef="FD2018Q2YTD" id="Fact-1242B1A974F37FE78F4794A11E4174F3">Q2</dei:DocumentFiscalPeriodFocus>
	<dei:DocumentFiscalYearFocus contextRef="FD2018Q2YTD" id="Fact-1EF1DF95D622AC84E52C94A11E814FAD">2018</dei:DocumentFiscalYearFocus>
	<dei:DocumentPeriodEndDate contextRef="FD2018Q2YTD" id="Fact-CF5DE2E4ADC4A7DE1C3494A11E160E5A">2018-07-01</dei:DocumentPeriodEndDate>
	<dei:DocumentType contextRef="FD2018Q2YTD" id="Fact-391F33E9CBD910B7B71794A11E5C10DE">10-Q</dei:DocumentType>
	<dei:EntityCentralIndexKey contextRef="FD2018Q2YTD" id="Fact-F1D3922F0CB9134E94BC94A11E145343">0000851205</dei:EntityCentralIndexKey>
	<dei:EntityCommonStockSharesOutstanding contextRef="FI2018Q2" decimals="0" id="Fact-AD61509663B228456A8A94A11DF821ED" unitRef="shares">172032044</dei:EntityCommonStockSharesOutstanding>
	<dei:EntityFilerCategory contextRef="FD2018Q2YTD" id="Fact-47B29D0A3592B0A0AB9794A11E54B9ED">Large Accelerated Filer</dei:EntityFilerCategory>
	<dei:EntityRegistrantName contextRef="FD2018Q2YTD" id="Fact-1282485CAE9E2C560A0494A11E1095ED">COGNEX CORP</dei:EntityRegistrantName>
	<us-gaap:AccountsPayableCurrent contextRef="FI2017Q4" decimals="-3" id="Fact-1759CA761524FE6CDC2494A11E535D8C" unitRef="usd">23463000</us-gaap:AccountsPayableCurrent>
	<us-gaap:AccountsPayableCurrent contextRef="FI2018Q2" decimals="-3" id="Fact-22722C322DA0CEC66C6794A11E316A74" unitRef="usd">12588000</us-gaap:AccountsPayableCurrent>
	<us-gaap:AccountsReceivableNetCurrent contextRef="FI2017Q4" decimals="-3" id="Fact-CBE59F317A848BACB19694A11E792E7D" unitRef="usd">119388000</us-gaap:AccountsReceivableNetCurrent>
	<us-gaap:AccountsReceivableNetCurrent contextRef="FI2018Q2" decimals="-3" id="Fact-2078476F3B47E548C92C94A11E0E7DC0" unitRef="usd">136084000</us-gaap:AccountsReceivableNetCurrent>
	<us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments contextRef="FD2017Q2YTD" decimals="-3" id="Fact-F657AAA2C6DAD2732BBC94A11E131D6C" unitRef="usd">-171000</us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments>
	<us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments contextRef="FD2018Q2YTD" decimals="-3" id="Fact-CE07AF52F6EF0486338A94A11E16AF1F" unitRef="usd">-94000</us-gaap:AccretionAmortizationOfDiscountsAndPremiumsInvestments>
	<us-gaap:AccruedIncomeTaxes contextRef="FI2017Q4" decimals="-3" id="Fact-AD6D3542C70D04EC56E094A11DF74B2C" unitRef="usd">66741000</us-gaap:AccruedIncomeTaxes>
	<us-gaap:AccruedIncomeTaxes contextRef="FI2018Q2" decimals="-3" id="Fact-3B657C0C89E76987143F94A11E5F29CB" unitRef="usd">60241000</us-gaap:AccruedIncomeTaxes>
	<us-gaap:AccruedIncomeTaxesCurrent contextRef="FI2017Q4" decimals="-3" id="Fact-8006C323B6ADAFC9130194A11E5325A5" unitRef="usd">11503000</us-gaap:AccruedIncomeTaxesCurrent>
	<us-gaap:AccruedIncomeTaxesCurrent contextRef="FI2018Q2" decimals="-3" id="Fact-913FA70B97BC7073F11B94A11DF5FD81" unitRef="usd">12477000</us-gaap:AccruedIncomeTaxesCurrent>
	<us-gaap:AccruedLiabilitiesCurrent contextRef="FI2017Q4" decimals="-3" id="Fact-C23AFEF5017A50A7C56F94A11DFD2E93" unitRef="usd">68249000</us-gaap:AccruedLiabilitiesCurrent>
	<us-gaap:AccruedLiabilitiesCurrent contextRef="FI2018Q2" decimals="-3" id="Fact-FC4D88CFE38A17704B2B94A11E026CFF" unitRef="usd">58654000</us-gaap:AccruedLiabilitiesCurrent>
	<us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax contextRef="FI2017Q4" decimals="-3" id="Fact-159D7E5F3AC90C00D08A94A11DFA8E5C" unitRef="usd">-34599000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
	<us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax contextRef="FI2018Q2" decimals="-3" id="Fact-5AC6921CF0CC62BA927A94A11E183EDD" unitRef="usd">-38767000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
	<us-gaap:AdditionalPaidInCapitalCommonStock contextRef="FI2017Q4" decimals="-3" id="Fact-13CC30F1FFE04147436E94A11E5B534F" unitRef="usd">461338000</us-gaap:AdditionalPaidInCapitalCommonStock>
	<us-gaap:AdditionalPaidInCapitalCommonStock contextRef="FI2018Q2" decimals="-3" id="Fact-FAB6A68F3F225581847494A11E528127" unitRef="usd">498343000</us-gaap:AdditionalPaidInCapitalCommonStock>
	<us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="FD2018Q2YTD" decimals="-3" id="Fact-AAA20FF6BCE3436C797894A11E03A3B6" unitRef="usd">22196000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
	<us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue contextRef="FD2018Q2YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember" decimals="-3" id="Fact-506E572F2902BE1AC3AA94A11E71ED99" unitRef="usd">22196000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
	<us-gaap:AllocatedShareBasedCompensationExpense contextRef="FD2017Q2QTD" decimals="-3" id="Fact-36791B4DD967E33A4A7194A11DFF147A" unitRef="usd">7846000</us-gaap:AllocatedShareBasedCompensationExpense>
	<us-gaap:AllocatedShareBasedCompensationExpense contextRef="FD2017Q2QTD_us-gaap_IncomeStatementLocationAxis_cgnx_SellingGeneralAndAdministrativeMember" decimals="-3" id="Fact-D78A1700562800A5E9C594A11DFDEC53" unitRef="usd">4677000</us-gaap:AllocatedShareBasedCompensationExpense>
	<us-gaap:AllocatedShareBasedCompensationExpense contextRef="FD2017Q2QTD_us-gaap_IncomeStatementLocationAxis_us-gaap_CostOfGoodsTotalMember" decimals="-3" id="Fact-23ECEE0D377F63DD4BFE94A11E561F8F" unitRef="usd">454000</us-gaap:AllocatedShareBasedCompensationExpense>
	<us-gaap:AllocatedShareBasedCompensationExpense contextRef="FD2017Q2QTD_us-gaap_IncomeStatementLocationAxis_us-gaap_ResearchAndDevelopmentExpenseMember" decimals="-3" id="Fact-AC098C0AB83C6E608CCD94A11DFEA036" unitRef="usd">2715000</us-gaap:AllocatedShareBasedCompensationExpense>
	<us-gaap:AllocatedShareBasedCompensationExpense contextRef="FD2017Q2YTD" decimals="-3" id="Fact-84A3F4029629BD81348A94A11E003CAE" unitRef="usd">15329000</us-gaap:AllocatedShareBasedCompensationExpense>
	<us-gaap:AllocatedShareBasedCompensationExpense contextRef="FD2017Q2YTD_us-gaap_IncomeStatementLocationAxis_cgnx_SellingGeneralAndAdministrativeMember" decimals="-3" id="Fact-02560ACA2B0C419DD0CC94A11DFE329F" unitRef="usd">9120000</us-gaap:AllocatedShareBasedCompensationExpense>
	<us-gaap:AllocatedShareBasedCompensationExpense contextRef="FD2017Q2YTD_us-gaap_IncomeStatementLocationAxis_us-gaap_CostOfGoodsTotalMember" decimals="-3" id="Fact-8327510991CF6195EA6794A11DFC1BCF" unitRef="usd">884000</us-gaap:AllocatedShareBasedCompensationExpense>
	<us-gaap:AllocatedShareBasedCompensationExpense contextRef="FD2017Q2YTD_us-gaap_IncomeStatementLocationAxis_us-gaap_ResearchAndDevelopmentExpenseMember" decimals="-3" id="Fact-ACEE8B85B8457BC5FFFB94A11E59298D" unitRef="usd">5325000</us-gaap:AllocatedShareBasedCompensationExpense>
	<us-gaap:AllocatedShareBasedCompensationExpense contextRef="FD2018Q2QTD" decimals="-3" id="Fact-5A52921AFD036AACC87794A11DF850C3" unitRef="usd">9002000</us-gaap:AllocatedShareBasedCompensationExpense>
	<us-gaap:AllocatedShareBasedCompensationExpense contextRef="FD2018Q2QTD_us-gaap_IncomeStatementLocationAxis_cgnx_SellingGeneralAndAdministrativeMember" decimals="-3" id="Fact-06472148164528CDA3C094A11DF57495" unitRef="usd">5291000</us-gaap:AllocatedShareBasedCompensationExpense>
	<us-gaap:AllocatedShareBasedCompensationExpense contextRef="FD2018Q2QTD_us-gaap_IncomeStatementLocationAxis_us-gaap_CostOfGoodsTotalMember" decimals="-3" id="Fact-8C6E3C177F9498CE0F0994A11DF725CF" unitRef="usd">557000</us-gaap:AllocatedShareBasedCompensationExpense>
	<us-gaap:AllocatedShareBasedCompensationExpense contextRef="FD2018Q2QTD_us-gaap_IncomeStatementLocationAxis_us-gaap_ResearchAndDevelopmentExpenseMember" decimals="-3" id="Fact-04C528D6BC9B9D03074294A11DFCA9FA" unitRef="usd">3154000</us-gaap:AllocatedShareBasedCompensationExpense>
	<us-gaap:AllocatedShareBasedCompensationExpense contextRef="FD2018Q2YTD" decimals="-3" id="Fact-BC6C1B33E41CF2F465FC94A11DFAAD35" unitRef="usd">22196000</us-gaap:AllocatedShareBasedCompensationExpense>
	<us-gaap:AllocatedShareBasedCompensationExpense contextRef="FD2018Q2YTD_us-gaap_IncomeStatementLocationAxis_cgnx_SellingGeneralAndAdministrativeMember" decimals="-3" id="Fact-9F748A0157B0CA78F62894A11DFC40C8" unitRef="usd">12873000</us-gaap:AllocatedShareBasedCompensationExpense>
	<us-gaap:AllocatedShareBasedCompensationExpense contextRef="FD2018Q2YTD_us-gaap_IncomeStatementLocationAxis_us-gaap_CostOfGoodsTotalMember" decimals="-3" id="Fact-D88981D0A0B23BF86F8494A11DFE60A4" unitRef="usd">1354000</us-gaap:AllocatedShareBasedCompensationExpense>
	<us-gaap:AllocatedShareBasedCompensationExpense contextRef="FD2018Q2YTD_us-gaap_IncomeStatementLocationAxis_us-gaap_ResearchAndDevelopmentExpenseMember" decimals="-3" id="Fact-9D2D4F5F46B3963DF42894A11E593230" unitRef="usd">7969000</us-gaap:AllocatedShareBasedCompensationExpense>
	<us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="FI2017Q4" decimals="-3" id="Fact-4056E2BE1A3560205C0894A11DFFFE3D" unitRef="usd">1568000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
	<us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent contextRef="FI2018Q2" decimals="-3" id="Fact-AF1ADBE1529B091D7ADE94A11E002712" unitRef="usd">1501000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
	<us-gaap:AmortizationOfIntangibleAssets contextRef="FD2017Q2YTD" decimals="-3" id="Fact-A0179DD2A49A0AD7D49A94A11E06D487" unitRef="usd">1740000</us-gaap:AmortizationOfIntangibleAssets>
	<us-gaap:AmortizationOfIntangibleAssets contextRef="FD2018Q2YTD" decimals="-3" id="Fact-37D72A962E0FF22A6E3394A11E1A99AA" unitRef="usd">1538000</us-gaap:AmortizationOfIntangibleAssets>
	<us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="FD2017Q2QTD" decimals="INF" id="Fact-CF47CA05DA97BA2AE36194A11E7A390B" unitRef="shares">3792000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
	<us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="FD2017Q2YTD" decimals="INF" id="Fact-A384C2855A858D573EE994A11E8034AE" unitRef="shares">2715000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
	<us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="FD2018Q2QTD" decimals="INF" id="Fact-C30D79AAB46B16A7C7AE94A11E7EE1C4" unitRef="shares">2959000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
	<us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount contextRef="FD2018Q2YTD" decimals="INF" id="Fact-313E57C444B23A138E1994A11E7E3A89" unitRef="shares">2032000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
	<us-gaap:Assets contextRef="FI2017Q4" decimals="-3" id="Fact-0FF6249C399D72F45B8994A11E1A0DC3" unitRef="usd">1287753000</us-gaap:Assets>
	<us-gaap:Assets contextRef="FI2018Q2" decimals="-3" id="Fact-0B31EF96A154D4D1C13C94A11E409720" unitRef="usd">1276310000</us-gaap:Assets>
	<us-gaap:AssetsCurrent contextRef="FI2017Q4" decimals="-3" id="Fact-E5B29F83E901E42BD5B894A11E24B6B4" unitRef="usd">629991000</us-gaap:AssetsCurrent>
	<us-gaap:AssetsCurrent contextRef="FI2018Q2" decimals="-3" id="Fact-DB556917A90FE78E0A9F94A11E113E65" unitRef="usd">759547000</us-gaap:AssetsCurrent>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="FI2018Q2" decimals="-3" id="Fact-615CA7D2581A3974A29894A11E1E2FE4" unitRef="usd">750000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="FI2018Q2_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-E0C088B1DD0D97AC6F4B94A11E1FB8DB" unitRef="usd">4000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="FI2018Q2_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-2BF04197267B32CDABA194A11DF98758" unitRef="usd">12000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="FI2018Q2_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-877EFCD1377D077ABB1994A11E25C14D" unitRef="usd">636000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="FI2018Q2_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-78457A04B6586DC0A59594A11E2255F1" unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="FI2018Q2_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-D7403AEA8A86533A5D3394A11E2FA0F9" unitRef="usd">35000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="FI2018Q2_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-FC55CF9EC94D6BFFF02B94A11E0EECFE" unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="FI2018Q2_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-04F55FAD61CE355F52D594A11E20F38F" unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="FI2018Q2_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-FF1169C8A9535C2168D694A11E324BB1" unitRef="usd">59000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="FI2018Q2_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-5703CDB004B8199617BF94A11E120A0C" unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="FI2018Q2_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-92DF2755175FE4972E6C94A11E1E865C" unitRef="usd">1000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax contextRef="FI2018Q2_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-8B2FF5F1F385908EDD6094A11E1635EA" unitRef="usd">3000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="FI2018Q2" decimals="-3" id="Fact-079AC4B8B21CD9390FF994A11E20130A" unitRef="usd">1883000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="FI2018Q2_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-F4683BB705484F7623DB94A11E00837F" unitRef="usd">0</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="FI2018Q2_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-A178AEC107CC0F2D082C94A11E2D0A09" unitRef="usd">305000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="FI2018Q2_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-070D5918EF5A7B88EDBB94A11E2D4221" unitRef="usd">564000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="FI2018Q2_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-570DFA9D0797FBE4F9B994A11E2F1E6B" unitRef="usd">13000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="FI2018Q2_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-7BAA0E0105CE26B8805194A11E336603" unitRef="usd">41000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="FI2018Q2_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-07831EA8E5E88D4E228C94A11E226516" unitRef="usd">1000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="FI2018Q2_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-991D9D11DB45A10B3D4694A11E23430C" unitRef="usd">219000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="FI2018Q2_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-096425A2EFADADBA694194A11E1C560E" unitRef="usd">371000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="FI2018Q2_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-FD3A3884936379C7645E94A11E252866" unitRef="usd">11000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="FI2018Q2_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-88277BD585FE988B824794A11E2E2735" unitRef="usd">26000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="FI2018Q2_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-A1082EE1612D4F0AAF2794A11E269693" unitRef="usd">332000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-3072CFC5819EF5A5FB2194A11E4754E7" unitRef="usd">1000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-14C70DB771637112033D94A11E4D5F21" unitRef="usd">524000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-78A6BB5A081B28C93BA294A11E4EDEF9" unitRef="usd">935000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-EE1B9710E554AB63ED2B94A11E54FF83" unitRef="usd">24000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-2B8A197AE978B75D038894A11E4F8C17" unitRef="usd">67000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-840686618C02E5E65F2C94A11E556C80" unitRef="usd">332000</us-gaap:AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax>
	<us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="FI2018Q2" decimals="-3" id="Fact-882513581160417E504694A11E2F97BE" unitRef="usd">626814000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
	<us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="FI2018Q2_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-90F7B80E3322CFCF97BB94A11E14B788" unitRef="usd">5930000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
	<us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="FI2018Q2_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-82F448635F4046A7AA0E94A11E2C0BD5" unitRef="usd">48033000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
	<us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="FI2018Q2_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-33F1ED11FE7CA760030794A11E1E9E5C" unitRef="usd">208382000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
	<us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="FI2018Q2_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-51867219EAF6CD456EC994A11E11D288" unitRef="usd">855000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
	<us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="FI2018Q2_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-B663144D1A497AF2C7CA94A11E2F32B6" unitRef="usd">8977000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
	<us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="FI2018Q2_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-B837656E89E70124CF1394A11E27257E" unitRef="usd">29248000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
	<us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="FI2018Q2_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-2AFA4E8A6E0E111307BD94A11E216859" unitRef="usd">55459000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
	<us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="FI2018Q2_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-25D6E6A32268F0CD99D294A11E24F993" unitRef="usd">116659000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
	<us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="FI2018Q2_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-5075A7292878641C04C094A11E1B892C" unitRef="usd">9165000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
	<us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="FI2018Q2_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-5C4655CF432210B7507794A11E1F761D" unitRef="usd">7400000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
	<us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis contextRef="FI2018Q2_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-1B159BA870C81546AE5794A11E01444F" unitRef="usd">136706000</us-gaap:AvailableForSaleDebtSecuritiesAmortizedCostBasis>
	<us-gaap:AvailableForSaleSecurities contextRef="FI2018Q2" decimals="-3" id="Fact-5806C69D64A1B9A26E7094A11DFB25B2" unitRef="usd">625681000</us-gaap:AvailableForSaleSecurities>
	<us-gaap:AvailableForSaleSecurities contextRef="FI2018Q2_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-BB59B780AAA8FE7134B194A11E1DC3AE" unitRef="usd">5934000</us-gaap:AvailableForSaleSecurities>
	<us-gaap:AvailableForSaleSecurities contextRef="FI2018Q2_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-5B9ECD47EDAE2B3B2B8894A11E0DAF26" unitRef="usd">47740000</us-gaap:AvailableForSaleSecurities>
	<us-gaap:AvailableForSaleSecurities contextRef="FI2018Q2_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-FABB403DBECB2F6F31FB94A11E275522" unitRef="usd">208454000</us-gaap:AvailableForSaleSecurities>
	<us-gaap:AvailableForSaleSecurities contextRef="FI2018Q2_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-00CD75AAB36B054600A294A11E0DE899" unitRef="usd">842000</us-gaap:AvailableForSaleSecurities>
	<us-gaap:AvailableForSaleSecurities contextRef="FI2018Q2_us-gaap_InvestmentTypeAxis_cgnx_LongTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-576FC7DE31E440A57B6A94A11E2D3A06" unitRef="usd">8971000</us-gaap:AvailableForSaleSecurities>
	<us-gaap:AvailableForSaleSecurities contextRef="FI2018Q2_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-C38B689EA6636D35942694A11E21D9E2" unitRef="usd">29247000</us-gaap:AvailableForSaleSecurities>
	<us-gaap:AvailableForSaleSecurities contextRef="FI2018Q2_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-0E1ECFD1D7E23300210394A11DF819D7" unitRef="usd">55240000</us-gaap:AvailableForSaleSecurities>
	<us-gaap:AvailableForSaleSecurities contextRef="FI2018Q2_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-565CEB53BB507E3E677F94A11E05D22D" unitRef="usd">116347000</us-gaap:AvailableForSaleSecurities>
	<us-gaap:AvailableForSaleSecurities contextRef="FI2018Q2_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-4C863F3D9DBDA207C27D94A11E1B86AE" unitRef="usd">9154000</us-gaap:AvailableForSaleSecurities>
	<us-gaap:AvailableForSaleSecurities contextRef="FI2018Q2_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-D2A9C7A7D57F36DB7BF494A11E1923A2" unitRef="usd">7375000</us-gaap:AvailableForSaleSecurities>
	<us-gaap:AvailableForSaleSecurities contextRef="FI2018Q2_us-gaap_InvestmentTypeAxis_us-gaap_ShortTermInvestmentsMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-D45FC21E917A888C0D5B94A11E1CB204" unitRef="usd">136377000</us-gaap:AvailableForSaleSecurities>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss contextRef="FI2018Q2" decimals="-3" id="Fact-7C8CF31F300C0AB242B494A11E52DD3F" unitRef="usd">491000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-E3EA0D330809076AC2ED94A11E51584C" unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-D08C8E73D54260CD57D694A11E4F22DC" unitRef="usd">28000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-86BF960438533C3EF4D294A11E4DC122" unitRef="usd">222000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-BEFD4FF020A9182A255894A11E433E5D" unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-3FD4794336B954E0927494A11E50091F" unitRef="usd">58000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-267C0F541C5B9251D9DF94A11E4E6FBF" unitRef="usd">183000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue contextRef="FI2018Q2" decimals="-3" id="Fact-40F4A0139C441149915794A11E4FD096" unitRef="usd">430860000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-73364A021BD0C4CF3BBF94A11E75384F" unitRef="usd">29246000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-45E22F7E90EC5FB5877E94A11E7593A0" unitRef="usd">94873000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-4FDBBAD29B862193676794A11E42B98E" unitRef="usd">162133000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-7D0D7170AEF65271C52194A11E43A44A" unitRef="usd">3692000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-3AB112F55922CE777D0A94A11E519243" unitRef="usd">8143000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-39EE6CEAF245ED90A13894A11E525048" unitRef="usd">132773000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss contextRef="FI2018Q2" decimals="-3" id="Fact-428ED7BBBF772D2FDB4194A11E432770" unitRef="usd">1392000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-7AF4A081BC2FD90D47E894A11E468785" unitRef="usd">1000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-F62108064B20139A5A4A94A11E74EC7C" unitRef="usd">496000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-70DA1F173CEFA0E751C794A11E53CD2A" unitRef="usd">713000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-E6EF6301CAD059ECD37E94A11E4559E8" unitRef="usd">24000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-22313BE3323F2D6EB3D094A11E53E837" unitRef="usd">9000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-2E9E5AB40127E6A9124194A11E554B52" unitRef="usd">149000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue contextRef="FI2018Q2" decimals="-3" id="Fact-2BC08B0262CA0A463AD894A11E4FBFA5" unitRef="usd">350445000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-39457E57DAE47FD2C1C794A11E53CC0F" unitRef="usd">29246000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-6B65ACC4AF3E58B7918F94A11E4792EC" unitRef="usd">90411000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-D685CC3C9791026B5FB094A11E7770FF" unitRef="usd">139225000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-A7FCB71D4CBFC665D07B94A11E413F33" unitRef="usd">3692000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-96A08168767CFC8AA32094A11E51390B" unitRef="usd">3562000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-D1863E2D315030DE7A4694A11E465446" unitRef="usd">84309000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue contextRef="FI2018Q2" decimals="-3" id="Fact-055002BE6C90780058C194A11E52333A" unitRef="usd">80415000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-047A6FD945501972234994A11E44D8D9" unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-47CDF094CA2DB7674E5394A11E5102F9" unitRef="usd">4462000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-1A9F69F1D626C4B0B4B694A11E48C772" unitRef="usd">22908000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-045E579AF2C34A9560F694A11E463BA0" unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-EE6F1A626A6F5EFBD3F094A11E74F6DF" unitRef="usd">4581000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue>
	<us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-184974F350600908293C94A11E549F4E" unitRef="usd">48464000</us-gaap:AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue>
	<us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue contextRef="FI2018Q2" decimals="-3" id="Fact-A9A80359D3916FCB6C2F94A11E7CC2E3" unitRef="usd">353740000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
	<us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-5AF104C7D813329D85CA94A11E61188E" unitRef="usd">29247000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
	<us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-BECBD383383B15B8998594A11E75166E" unitRef="usd">55240000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
	<us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-1089257310CDE64A18F494A11E65909D" unitRef="usd">116347000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
	<us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-4590337BC385932D62D194A11E6FC467" unitRef="usd">9154000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
	<us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-BDF496D10B8E23DB42E894A11E63DE1B" unitRef="usd">7375000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
	<us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-726B844BC4614BFD4F2394A11E6F0CB1" unitRef="usd">136377000</us-gaap:AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2018Q2" decimals="-3" id="Fact-FE678FD2802BA5DA7E5794A11E64CA07" unitRef="usd">625681000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2018Q2_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-6A611DCD05D015B176C894A11E315F40" unitRef="usd">35181000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2018Q2_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-5F09A23D1E620955DF4694A11E3B1109" unitRef="usd">102980000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2018Q2_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-C551666116F17BE929EB94A11E35D5C7" unitRef="usd">324801000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2018Q2_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-1CFD38D76DE9F694B0B994A11E32BF5F" unitRef="usd">9996000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2018Q2_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-3860C150D59367E884D694A11E30F905" unitRef="usd">16346000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2018Q2_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-F3BC027F7C464C7B400294A11E30C026" unitRef="usd">136377000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-BC7114BAF093FE79F1D094A11E60E719" unitRef="usd">35181000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-4327698932C9D9BB9BF594A11E6BE440" unitRef="usd">102980000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-C1ED1993BC2EE71A9F6B94A11E7A1F35" unitRef="usd">324801000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-B544606F9949F2D96C7A94A11E61A226" unitRef="usd">9996000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-491F15B1BBF2B115495A94A11E778B62" unitRef="usd">16346000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecurities contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-2DDC9BBD9B2B9820FDCD94A11E746533" unitRef="usd">136377000</us-gaap:AvailableForSaleSecuritiesDebtSecurities>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="FI2017Q4" decimals="-3" id="Fact-5F59D8DD0AC89F7E8FE694A11E61A0C8" unitRef="usd">297961000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="FI2017Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-33D6120C9118AC5C83AA94A11E3B74FC" unitRef="usd">10608000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="FI2017Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-486AF47BF23CF4DE6A1794A11E32C34D" unitRef="usd">59203000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="FI2017Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-113D11495B965DB1872C94A11E2D7EA8" unitRef="usd">47395000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="FI2017Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-A11EC52E2FD5585F4E7994A11E3FB663" unitRef="usd">8805000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="FI2017Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-BC2DC28E9F427B3C176394A11E230CD1" unitRef="usd">21579000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="FI2017Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-73DEAC1683888F5F9FE794A11E179F82" unitRef="usd">150371000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="FI2018Q2" decimals="-3" id="Fact-F9922CB1C8196332CB6A94A11E656A43" unitRef="usd">353740000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-55BFC52A6076F46C408194A11E3BC4D6" unitRef="usd">29247000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-39193B06323AC4C4BBDA94A11E1BEC7C" unitRef="usd">55240000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-A475D58077CE4A3A0B1B94A11E3EF154" unitRef="usd">116347000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-9E39DA0BC03455BD562994A11E19D9DC" unitRef="usd">9154000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-6EA0825788E3C8D5731B94A11E33ED93" unitRef="usd">7375000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-3E49C91535134B4A31BD94A11E3C510D" unitRef="usd">136377000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesCurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent contextRef="FI2017Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-B24594DAA51501A23AE594A11E3CF748" unitRef="usd">14890000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent contextRef="FI2017Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-A8AAD9DE9A50CEF124C094A11E3F78CE" unitRef="usd">71727000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent contextRef="FI2017Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-7A089A2680AF0D54A05294A11E3DA74B" unitRef="usd">296014000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent contextRef="FI2017Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-0B745460F1194A81523194A11E3D7221" unitRef="usd">4204000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent contextRef="FI2017Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-E63AB3C9FA669393946C94A11E3C8813" unitRef="usd">13147000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent contextRef="FI2017Q4_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-1ABCCA0A2F4E777C008494A11E4313B6" unitRef="usd">23459000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_cgnx_AgencyBondsMember" decimals="-3" id="Fact-C8C56E2BA6798C4481E094A11E1DB5F2" unitRef="usd">5934000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_AssetBackedSecuritiesMember" decimals="-3" id="Fact-9005B3CAF67182DA50BE94A11E20CDCE" unitRef="usd">47740000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_CorporateBondSecuritiesMember" decimals="-3" id="Fact-6750932E73A460706C6A94A11E3E7403" unitRef="usd">208454000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_MunicipalBondsMember" decimals="-3" id="Fact-3B448A2E1F6B2772F49A94A11E3F7663" unitRef="usd">842000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_SovereignDebtSecuritiesMember" decimals="-3" id="Fact-FE4296FEE20164D933FD94A11E327AE3" unitRef="usd">8971000</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
	<us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent contextRef="FI2018Q2_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_us-gaap_USTreasurySecuritiesMember" decimals="-3" id="Fact-D6D9DA738492F862DEEA94A11E1F30D2" unitRef="usd">0</us-gaap:AvailableForSaleSecuritiesDebtSecuritiesNoncurrent>
	<us-gaap:AvailableForSaleSecuritiesGrossRealizedGains contextRef="FD2017Q2QTD" decimals="0" id="Fact-3D3E49B5F42F7D717ED894A11E60F99B" unitRef="usd">55000</us-gaap:AvailableForSaleSecuritiesGrossRealizedGains>
	<us-gaap:AvailableForSaleSecuritiesGrossRealizedGains contextRef="FD2017Q2YTD" decimals="0" id="Fact-A7416E808EC151ED912D94A11E5FC48C" unitRef="usd">143000</us-gaap:AvailableForSaleSecuritiesGrossRealizedGains>
	<us-gaap:AvailableForSaleSecuritiesGrossRealizedGains contextRef="FD2018Q2QTD" decimals="0" id="Fact-13266E135A2099D89CFE94A11E60D102" unitRef="usd">308000</us-gaap:AvailableForSaleSecuritiesGrossRealizedGains>
	<us-gaap:AvailableForSaleSecuritiesGrossRealizedGains contextRef="FD2018Q2YTD" decimals="0" id="Fact-F7DB2BA34830FD8BD01694A11E6DE209" unitRef="usd">363000</us-gaap:AvailableForSaleSecuritiesGrossRealizedGains>
	<us-gaap:AvailableForSaleSecuritiesGrossRealizedLosses contextRef="FD2017Q2QTD" decimals="0" id="Fact-A0AD7220EB021865511D94A11E647AFC" unitRef="usd">13000</us-gaap:AvailableForSaleSecuritiesGrossRealizedLosses>
	<us-gaap:AvailableForSaleSecuritiesGrossRealizedLosses contextRef="FD2017Q2YTD" decimals="0" id="Fact-75C8AC956E8FF2D384FA94A11E6BD7CA" unitRef="usd">36000</us-gaap:AvailableForSaleSecuritiesGrossRealizedLosses>
	<us-gaap:AvailableForSaleSecuritiesGrossRealizedLosses contextRef="FD2018Q2QTD" decimals="-3" id="Fact-DB3A346FCFABAC633C8694A11E6331E4" unitRef="usd">61000</us-gaap:AvailableForSaleSecuritiesGrossRealizedLosses>
	<us-gaap:AvailableForSaleSecuritiesGrossRealizedLosses contextRef="FD2018Q2YTD" decimals="0" id="Fact-2051B1B3D1B67EDF06BD94A11E61A834" unitRef="usd">94000</us-gaap:AvailableForSaleSecuritiesGrossRealizedLosses>
	<us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1 contextRef="FD2017Q2YTD" decimals="-3" id="Fact-1676066422D94D50C6A394A11E3148D4" unitRef="usd">-151000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
	<us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1 contextRef="FD2018Q2YTD" decimals="-3" id="Fact-48C1DE73558769BC7D5B94A11E3327A2" unitRef="usd">-254000</us-gaap:BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1>
	<us-gaap:BusinessCombinationContingentConsiderationLiability contextRef="FI2018Q2_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-D12732CC076C25BA1D8F94A11E36E81A" unitRef="usd">2303000</us-gaap:BusinessCombinationContingentConsiderationLiability>
	<us-gaap:Cash contextRef="FI2017Q4" decimals="-3" id="Fact-9F7EF81D6974199FB63394A11E279CF8" unitRef="usd">97951000</us-gaap:Cash>
	<us-gaap:Cash contextRef="FI2018Q2" decimals="-3" id="Fact-7FB6343438A8A723F5CF94A11E331FA7" unitRef="usd">124147000</us-gaap:Cash>
	<us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="FI2016Q4" decimals="-3" id="Fact-8EF82E809214953C161094A11E1BEA38" unitRef="usd">79641000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
	<us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="FI2017Q2" decimals="-3" id="Fact-FDCA0BE9E175DDB35EF694A11E24572F" unitRef="usd">68266000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
	<us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="FI2017Q4" decimals="-3" id="Fact-A77CC32BCC9508114D5694A11E22C843" unitRef="usd">106582000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
	<us-gaap:CashAndCashEquivalentsAtCarryingValue contextRef="FI2018Q2" decimals="-3" id="Fact-43C89F880CAC10C6700594A11DFEF045" unitRef="usd">129202000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
	<us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease contextRef="FD2017Q2YTD" decimals="-3" id="Fact-57C11470AEEE473718F894A11E0F77DE" unitRef="usd">-11375000</us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease>
	<us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease contextRef="FD2018Q2YTD" decimals="-3" id="Fact-E680B87E56723B5BB9C694A11E01BBB7" unitRef="usd">22620000</us-gaap:CashAndCashEquivalentsPeriodIncreaseDecrease>
	<us-gaap:CommonStockDividendsPerShareCashPaid contextRef="FD2017Q2QTD" decimals="INF" id="Fact-9D97D2F58B48EF07305C94A11E7546C7" unitRef="usdPerShare">0.0425</us-gaap:CommonStockDividendsPerShareCashPaid>
	<us-gaap:CommonStockDividendsPerShareCashPaid contextRef="FD2017Q2YTD" decimals="INF" id="Fact-B11287BA3F4070EC2F0294A11E7E1EDD" unitRef="usdPerShare">0.080</us-gaap:CommonStockDividendsPerShareCashPaid>
	<us-gaap:CommonStockDividendsPerShareCashPaid contextRef="FD2018Q2QTD" decimals="INF" id="Fact-196C1251DD4E5527747994A11E34AFE8" unitRef="usdPerShare">0.045</us-gaap:CommonStockDividendsPerShareCashPaid>
	<us-gaap:CommonStockDividendsPerShareCashPaid contextRef="FD2018Q2YTD" decimals="INF" id="Fact-54B9D098DB407BBC454594A11E3944ED" unitRef="usdPerShare">0.09</us-gaap:CommonStockDividendsPerShareCashPaid>
	<us-gaap:CommonStockParOrStatedValuePerShare contextRef="FI2017Q4" decimals="INF" id="Fact-9AA8A95C0C60C5F2F31B94A11E5A43A9" unitRef="usdPerShare">0.002</us-gaap:CommonStockParOrStatedValuePerShare>
	<us-gaap:CommonStockParOrStatedValuePerShare contextRef="FI2018Q2" decimals="INF" id="Fact-60FF90FE871FDD8B22E294A11DFD6AC4" unitRef="usdPerShare">0.002</us-gaap:CommonStockParOrStatedValuePerShare>
	<us-gaap:CommonStockSharesAuthorized contextRef="FI2017Q4" decimals="INF" id="Fact-D7001A6CA0ABD27D37DF94A11E56B417" unitRef="shares">200000000</us-gaap:CommonStockSharesAuthorized>
	<us-gaap:CommonStockSharesAuthorized contextRef="FI2018Q2" decimals="INF" id="Fact-C8A34844A70212777E9894A11E558D10" unitRef="shares">300000000</us-gaap:CommonStockSharesAuthorized>
	<us-gaap:CommonStockSharesIssued contextRef="FI2017Q4" decimals="-3" id="Fact-D740744E39A0352BBC3594A11E5887BE" unitRef="shares">173507000</us-gaap:CommonStockSharesIssued>
	<us-gaap:CommonStockSharesIssued contextRef="FI2017Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" decimals="-3" id="Fact-658A1FB7F70B0194A41B94A11E4E2285" unitRef="shares">173507000</us-gaap:CommonStockSharesIssued>
	<us-gaap:CommonStockSharesIssued contextRef="FI2018Q2" decimals="-3" id="Fact-96B6E922F2F3E66FC3D894A11E5606BA" unitRef="shares">172032000</us-gaap:CommonStockSharesIssued>
	<us-gaap:CommonStockSharesIssued contextRef="FI2018Q2_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" decimals="-3" id="Fact-E8DC2B156FD3D4E743BA94A11E4F0ED4" unitRef="shares">172032000</us-gaap:CommonStockSharesIssued>
	<us-gaap:CommonStockValueOutstanding contextRef="FI2017Q4" decimals="-3" id="Fact-F1B41A72EBE05837060194A11E0FD164" unitRef="usd">347000</us-gaap:CommonStockValueOutstanding>
	<us-gaap:CommonStockValueOutstanding contextRef="FI2018Q2" decimals="-3" id="Fact-AC86579EECFD0182237294A11E068D96" unitRef="usd">344000</us-gaap:CommonStockValueOutstanding>
	<us-gaap:ComprehensiveIncomeNetOfTax contextRef="FD2017Q2QTD" decimals="-3" id="Fact-21F961FE7914E9E4423994A11E59B536" unitRef="usd">67073000</us-gaap:ComprehensiveIncomeNetOfTax>
	<us-gaap:ComprehensiveIncomeNetOfTax contextRef="FD2017Q2YTD" decimals="-3" id="Fact-1A7A36B6BFB1CB8A2A7F94A11E025188" unitRef="usd">115444000</us-gaap:ComprehensiveIncomeNetOfTax>
	<us-gaap:ComprehensiveIncomeNetOfTax contextRef="FD2018Q2QTD" decimals="-3" id="Fact-72777FECCA730A30CF4C94A11E113F02" unitRef="usd">49186000</us-gaap:ComprehensiveIncomeNetOfTax>
	<us-gaap:ComprehensiveIncomeNetOfTax contextRef="FD2018Q2YTD" decimals="-3" id="Fact-26DFFE3470AF7E0A52C594A11E325F2B" unitRef="usd">89245000</us-gaap:ComprehensiveIncomeNetOfTax>
	<us-gaap:CostOfGoodsAndServicesSold contextRef="FD2017Q2QTD" decimals="-3" id="Fact-32C68DC6B75BB0A02A3294A11E77499C" unitRef="usd">42164000</us-gaap:CostOfGoodsAndServicesSold>
	<us-gaap:CostOfGoodsAndServicesSold contextRef="FD2017Q2YTD" decimals="-3" id="Fact-A0755FB660928B99B17494A11E72C6A3" unitRef="usd">74696000</us-gaap:CostOfGoodsAndServicesSold>
	<us-gaap:CostOfGoodsAndServicesSold contextRef="FD2018Q2QTD" decimals="-3" id="Fact-7891D37243DE52A2AF6F94A11E22E6EC" unitRef="usd">54169000</us-gaap:CostOfGoodsAndServicesSold>
	<us-gaap:CostOfGoodsAndServicesSold contextRef="FD2018Q2YTD" decimals="-3" id="Fact-04FA3401DA314B5F928094A11E3C2072" unitRef="usd">94367000</us-gaap:CostOfGoodsAndServicesSold>
	<us-gaap:CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption contextRef="FI2017Q4" decimals="-3" id="Fact-2442E82D2427437941B2AD918DAEDB33" unitRef="usd">-5961000</us-gaap:CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption>
	<us-gaap:CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption contextRef="FI2017Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember" decimals="-3" id="Fact-592207D6A45687D5FC4BAD8FC8BF62E2" unitRef="usd">-5961000</us-gaap:CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption>
	<us-gaap:CumulativeEffectOnRetainedEarningsNetOfTax1 contextRef="D2018Q1_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_us-gaap_AccountingStandardsUpdate201616Member" decimals="-3" id="Fact-DC892A6F838D4F608B46AD9B1A060063" unitRef="usd">5961000</us-gaap:CumulativeEffectOnRetainedEarningsNetOfTax1>
	<us-gaap:DeferredIncomeTaxLiabilitiesNet contextRef="FI2017Q4" decimals="-3" id="Fact-FEA01DA3055298E28A0994A11E13FAB6" unitRef="usd">312000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
	<us-gaap:DeferredIncomeTaxLiabilitiesNet contextRef="FI2018Q2" decimals="-3" id="Fact-8AD0B9A02562DD6314FB94A11E5D727D" unitRef="usd">304000</us-gaap:DeferredIncomeTaxLiabilitiesNet>
	<us-gaap:DeferredRevenueAndCreditsCurrent contextRef="FI2017Q4" decimals="-3" id="Fact-6BEFCB53D513F762A5E894A11E7D388D" unitRef="usd">9420000</us-gaap:DeferredRevenueAndCreditsCurrent>
	<us-gaap:DeferredRevenueAndCreditsCurrent contextRef="FI2018Q2" decimals="-3" id="Fact-4608D47B1820AD6D0EFB94A11E26B69B" unitRef="usd">40881000</us-gaap:DeferredRevenueAndCreditsCurrent>
	<us-gaap:DeferredTaxAssetsNetNoncurrent contextRef="FI2017Q4" decimals="-3" id="Fact-72BB64F2619E4F45F52694A11E15C85E" unitRef="usd">27385000</us-gaap:DeferredTaxAssetsNetNoncurrent>
	<us-gaap:DeferredTaxAssetsNetNoncurrent contextRef="FI2018Q2" decimals="-3" id="Fact-CF1A2C71A0DA2A390FF494A11E78E8DE" unitRef="usd">29892000</us-gaap:DeferredTaxAssetsNetNoncurrent>
	<us-gaap:Depreciation contextRef="FD2017Q2YTD" decimals="-3" id="Fact-43A358A5BF2CD4C75A9E94A11E05BA83" unitRef="usd">6288000</us-gaap:Depreciation>
	<us-gaap:Depreciation contextRef="FD2018Q2YTD" decimals="-3" id="Fact-CA4177845735A1F3BD7694A11DF88C38" unitRef="usd">8874000</us-gaap:Depreciation>
	<us-gaap:DerivativeAssetCollateralObligationToReturnCashOffset contextRef="FI2017Q4" decimals="-3" id="Fact-CF984B5FEEC772ED8D9A94A11DFBE43D" unitRef="usd">0</us-gaap:DerivativeAssetCollateralObligationToReturnCashOffset>
	<us-gaap:DerivativeAssetCollateralObligationToReturnCashOffset contextRef="FI2018Q2" decimals="-3" id="Fact-06D896B89B061F4EC29B94A11DFDAB58" unitRef="usd">0</us-gaap:DerivativeAssetCollateralObligationToReturnCashOffset>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2017Q4_us-gaap_CurrencyAxis_currency_CAD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-2B0D4149697700CEB2F394A11DF6DC8B" unitRef="usd">0</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2017Q4_us-gaap_CurrencyAxis_currency_CAD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-6CE95751977818CE272694A11E126454" unitRef="cad">0</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2017Q4_us-gaap_CurrencyAxis_currency_CHF_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-31EEC39F4A6BD7A5807C94A11E18CF2C" unitRef="usd">1401000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2017Q4_us-gaap_CurrencyAxis_currency_CHF_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-AF8D93EFE9A6265B1BFB94A11DF91FBB" unitRef="chf">1365000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2017Q4_us-gaap_CurrencyAxis_currency_EUR_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-B058BEB743A8973E2C8D94A11E18CC77" unitRef="eur">0</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2017Q4_us-gaap_CurrencyAxis_currency_EUR_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-C0F0411A20BD89B3845C94A11DF6C932" unitRef="usd">0</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2017Q4_us-gaap_CurrencyAxis_currency_GBP_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-A206B5A84541D225EB1394A11DF8DEEA" unitRef="usd">2232000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2017Q4_us-gaap_CurrencyAxis_currency_GBP_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-81903A839393D9EADB1994A11E7E2C69" unitRef="gbp">1650000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2017Q4_us-gaap_CurrencyAxis_currency_HUF_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-8873D8A2DDD01C62D53B94A11E155239" unitRef="usd">2110000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2017Q4_us-gaap_CurrencyAxis_currency_HUF_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-75343B0ACB2DE3ACCF5894A11E7941EA" unitRef="huf">545000000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2017Q4_us-gaap_CurrencyAxis_currency_JPY_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-690DBCA7C5BDE038151A94A11E1E2680" unitRef="iso4217_JPY">455000000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2017Q4_us-gaap_CurrencyAxis_currency_JPY_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-2954FBC212C7D3E325DD94A11E1C3B7C" unitRef="usd">4049000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2017Q4_us-gaap_CurrencyAxis_currency_KRW_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-17EF0680775D601C3FFF94A11E354613" unitRef="usd">1708000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2017Q4_us-gaap_CurrencyAxis_currency_KRW_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-7F9D6CA8C73ECBF057ED94A11E4037C4" unitRef="iso4217_KRW">1825000000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2017Q4_us-gaap_CurrencyAxis_currency_SGD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-6A40654695DE573DA55A94A11E43B701" unitRef="usd">0</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2017Q4_us-gaap_CurrencyAxis_currency_SGD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-0BCF8A73C407A478EE9D94A11E7B8FD7" unitRef="sgd">0</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2017Q4_us-gaap_CurrencyAxis_currency_TWD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-E31DD6F63E8779D1BD6694A11DFA525A" unitRef="twd">37725000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2017Q4_us-gaap_CurrencyAxis_currency_TWD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-FD01D1E1B3D4F603F55D94A11E4D8F6B" unitRef="usd">1278000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2018Q2_us-gaap_CurrencyAxis_currency_CAD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-640FD308585F7A5719B094A11E429233" unitRef="usd">753000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2018Q2_us-gaap_CurrencyAxis_currency_CAD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-07D032F170674DB0515694A11DFF8839" unitRef="cad">855000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2018Q2_us-gaap_CurrencyAxis_currency_CHF_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-937E9821936C7DB9064794A11E12F61E" unitRef="usd">2879000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2018Q2_us-gaap_CurrencyAxis_currency_CHF_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-669C6C1486776B71490394A11E2EB4CB" unitRef="chf">2425000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2018Q2_us-gaap_CurrencyAxis_currency_EUR_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-1B98A3A4F8EB3BC9195D94A11E30C13D" unitRef="eur">17000000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2018Q2_us-gaap_CurrencyAxis_currency_EUR_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-747B8E97004E7EFD2AFB94A11E0D0D08" unitRef="usd">19897000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2018Q2_us-gaap_CurrencyAxis_currency_GBP_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-0A79D70DCCC03CADE8BB94A11E515AFC" unitRef="usd">2142000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2018Q2_us-gaap_CurrencyAxis_currency_GBP_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-B22BA4751820366D2E8B94A11E5243E9" unitRef="gbp">2430000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2018Q2_us-gaap_CurrencyAxis_currency_HUF_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-161AAE6FA7C47F14B4A294A11DF6373C" unitRef="usd">2756000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2018Q2_us-gaap_CurrencyAxis_currency_HUF_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-ADAE7D4BAF1A47D6BC8F94A11E302250" unitRef="huf">655000000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2018Q2_us-gaap_CurrencyAxis_currency_JPY_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-175BBD19CD5BFA93F1B894A11DFBD62B" unitRef="iso4217_JPY">790000000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2018Q2_us-gaap_CurrencyAxis_currency_JPY_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-55EB683C5D0E137438C494A11DF93BC1" unitRef="usd">8423000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2018Q2_us-gaap_CurrencyAxis_currency_KRW_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-6279F26303DE7B264DB194A11E7BEE60" unitRef="usd">1968000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2018Q2_us-gaap_CurrencyAxis_currency_KRW_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-3854C2FBF64CF6B1592A94A11E1707F7" unitRef="iso4217_KRW">1875000000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2018Q2_us-gaap_CurrencyAxis_currency_SGD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-B61FF35074CB2ABD49BD94A11E7B000C" unitRef="usd">602000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2018Q2_us-gaap_CurrencyAxis_currency_SGD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-7CAA1299CDC5CC8464AB94A11E78DE42" unitRef="sgd">700000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2018Q2_us-gaap_CurrencyAxis_currency_TWD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-0DD0BB814B3244FB213194A11E76F320" unitRef="usd">1837000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssetNotionalAmount contextRef="FI2018Q2_us-gaap_CurrencyAxis_currency_TWD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-3A697CBF752ACA7ECA2894A11DF8E278" unitRef="twd">47600000</us-gaap:DerivativeAssetNotionalAmount>
	<us-gaap:DerivativeAssets contextRef="FI2017Q4" decimals="-3" id="Fact-E080AAB44E4E1BAE29CC94A11E003A15" unitRef="usd">16000</us-gaap:DerivativeAssets>
	<us-gaap:DerivativeAssets contextRef="FI2017Q4_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-C22003B39BFAE5AC15A894A11E01067B" unitRef="usd">16000</us-gaap:DerivativeAssets>
	<us-gaap:DerivativeAssets contextRef="FI2018Q2" decimals="-3" id="Fact-10505DE8BE0E9B847FBB94A11DF9E05F" unitRef="usd">88000</us-gaap:DerivativeAssets>
	<us-gaap:DerivativeAssets contextRef="FI2018Q2_us-gaap_BalanceSheetLocationAxis_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-80F98F3BC01D462C7E4F94A11DFC434B" unitRef="usd">88000</us-gaap:DerivativeAssets>
	<us-gaap:DerivativeFairValueOfDerivativeAsset contextRef="FI2017Q4" decimals="-3" id="Fact-D510CF9EE5FF0773A6F494A11E01A227" unitRef="usd">16000</us-gaap:DerivativeFairValueOfDerivativeAsset>
	<us-gaap:DerivativeFairValueOfDerivativeAsset contextRef="FI2018Q2" decimals="-3" id="Fact-6A69D941C4CBE017EED194A11E018181" unitRef="usd">88000</us-gaap:DerivativeFairValueOfDerivativeAsset>
	<us-gaap:DerivativeFairValueOfDerivativeLiability contextRef="FI2017Q4" decimals="-3" id="Fact-A6EF53F7F38B709C96E994A11DFFFA02" unitRef="usd">13000</us-gaap:DerivativeFairValueOfDerivativeLiability>
	<us-gaap:DerivativeFairValueOfDerivativeLiability contextRef="FI2018Q2" decimals="-3" id="Fact-F6289459FA47D53DDE4E94A11DF95C9F" unitRef="usd">86000</us-gaap:DerivativeFairValueOfDerivativeLiability>
	<us-gaap:DerivativeGainLossOnDerivativeNet contextRef="FD2017Q2QTD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ForeignCurrencyGainLossMember" decimals="-3" id="Fact-29EFC0CDB6516DB56E6694A11E5A1956" unitRef="usd">177000</us-gaap:DerivativeGainLossOnDerivativeNet>
	<us-gaap:DerivativeGainLossOnDerivativeNet contextRef="FD2017Q2YTD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ForeignCurrencyGainLossMember" decimals="-3" id="Fact-50BD1632B0B41BDA110894A11E1D2E57" unitRef="usd">96000</us-gaap:DerivativeGainLossOnDerivativeNet>
	<us-gaap:DerivativeGainLossOnDerivativeNet contextRef="FD2018Q2QTD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ForeignCurrencyGainLossMember" decimals="-3" id="Fact-F1A395B5F5CCFC60A85E94A11E5E1ACE" unitRef="usd">-354000</us-gaap:DerivativeGainLossOnDerivativeNet>
	<us-gaap:DerivativeGainLossOnDerivativeNet contextRef="FD2018Q2YTD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ForeignCurrencyGainLossMember" decimals="-3" id="Fact-DEC37288A0BBACD01B9894A11E5B4A4B" unitRef="usd">-665000</us-gaap:DerivativeGainLossOnDerivativeNet>
	<us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet contextRef="FD2017Q2QTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_GeneralAndAdministrativeExpenseMember" decimals="-3" id="Fact-EFA2CBD2374141E98AB494A11E1A091B" unitRef="usd">0</us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet>
	<us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet contextRef="FD2017Q2QTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ResearchAndDevelopmentExpenseMember" decimals="-3" id="Fact-4BDA061C866EF82E496494A11E1F292E" unitRef="usd">0</us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet>
	<us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet contextRef="FD2017Q2QTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesRevenueGoodsNetMember" decimals="-3" id="Fact-2D9F59649E0DCAACE62794A11E580CC9" unitRef="usd">9000</us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet>
	<us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet contextRef="FD2017Q2YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_GeneralAndAdministrativeExpenseMember" decimals="-3" id="Fact-603F839D4157EC5D3B4C94A11E17643B" unitRef="usd">8000</us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet>
	<us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet contextRef="FD2017Q2YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ResearchAndDevelopmentExpenseMember" decimals="-3" id="Fact-B7D3AAE215CD9B3B09EE94A11E5674F9" unitRef="usd">3000</us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet>
	<us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet contextRef="FD2017Q2YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesRevenueGoodsNetMember" decimals="-3" id="Fact-9D873978F114E7BE3F5B94A11E5826A2" unitRef="usd">-46000</us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet>
	<us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet contextRef="FD2018Q2QTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_GeneralAndAdministrativeExpenseMember" decimals="-3" id="Fact-2FA6B5AD19B48BBA3C6994A11E1A5C55" unitRef="usd">0</us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet>
	<us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet contextRef="FD2018Q2QTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ResearchAndDevelopmentExpenseMember" decimals="-3" id="Fact-EDE131D54207FB85E1A794A11E5E7152" unitRef="usd">0</us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet>
	<us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet contextRef="FD2018Q2QTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesRevenueGoodsNetMember" decimals="-3" id="Fact-2DDB4FEB5D428003B8B694A11E5E1AC2" unitRef="usd">0</us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet>
	<us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet contextRef="FD2018Q2YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_GeneralAndAdministrativeExpenseMember" decimals="-3" id="Fact-CD87F44B4CFB6B9E3E5794A11E5711C5" unitRef="usd">0</us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet>
	<us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet contextRef="FD2018Q2YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ResearchAndDevelopmentExpenseMember" decimals="-3" id="Fact-B9E98EAA921347B76F4194A11E56A252" unitRef="usd">0</us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet>
	<us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet contextRef="FD2018Q2YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_SalesRevenueGoodsNetMember" decimals="-3" id="Fact-8E389569081251DC0BD594A11E5A6DAD" unitRef="usd">0</us-gaap:DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet>
	<us-gaap:DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet contextRef="FD2017Q2QTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ForeignCurrencyGainLossMember" decimals="-3" id="Fact-3AD0190BC15F4C32AAA094A11E1FBE28" unitRef="usd">0</us-gaap:DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet>
	<us-gaap:DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet contextRef="FD2017Q2YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ForeignCurrencyGainLossMember" decimals="-3" id="Fact-D3895F7ED1B39706DCF794A11E57ACDA" unitRef="usd">0</us-gaap:DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet>
	<us-gaap:DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet contextRef="FD2018Q2QTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ForeignCurrencyGainLossMember" decimals="-3" id="Fact-BEC12B409ADDF5CB329E94A11E1D10B7" unitRef="usd">0</us-gaap:DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet>
	<us-gaap:DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet contextRef="FD2018Q2YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_ForeignCurrencyGainLossMember" decimals="-3" id="Fact-02BC6254EA5B4DC057F994A11E5DD5D4" unitRef="usd">0</us-gaap:DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet>
	<us-gaap:DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet contextRef="FD2017Q2QTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_CashFlowHedgingMember" decimals="-3" id="Fact-64D4F61C0DAA3E109F9094A11E595B99" unitRef="usd">60000</us-gaap:DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet>
	<us-gaap:DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet contextRef="FD2017Q2YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_CashFlowHedgingMember" decimals="-3" id="Fact-9AC4A003B8991D293B0494A11E5DF977" unitRef="usd">60000</us-gaap:DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet>
	<us-gaap:DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet contextRef="FD2018Q2QTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_CashFlowHedgingMember" decimals="-3" id="Fact-DEF96BD6384C5D1D0D9E94A11E5E8A5A" unitRef="usd">0</us-gaap:DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet>
	<us-gaap:DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet contextRef="FD2018Q2YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember_us-gaap_IncomeStatementLocationAxis_us-gaap_CashFlowHedgingMember" decimals="-3" id="Fact-D45AC765E5BA219B5A3794A11E5BC3A2" unitRef="usd">0</us-gaap:DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet>
	<us-gaap:DerivativeLiabilities contextRef="FI2017Q4" decimals="-3" id="Fact-AFA2DBFF4E4D905AAAC894A11DFC4A52" unitRef="usd">13000</us-gaap:DerivativeLiabilities>
	<us-gaap:DerivativeLiabilities contextRef="FI2017Q4_us-gaap_BalanceSheetLocationAxis_cgnx_AccruedExpensesMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-2E40F102412F0111A43A94A11DFBBEC7" unitRef="usd">13000</us-gaap:DerivativeLiabilities>
	<us-gaap:DerivativeLiabilities contextRef="FI2018Q2" decimals="-3" id="Fact-CD1320DD69C57955912994A11DFC033E" unitRef="usd">86000</us-gaap:DerivativeLiabilities>
	<us-gaap:DerivativeLiabilities contextRef="FI2018Q2_us-gaap_BalanceSheetLocationAxis_cgnx_AccruedExpensesMember_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" decimals="-3" id="Fact-6D73179CA8D63C9D251194A11DFD4CB5" unitRef="usd">86000</us-gaap:DerivativeLiabilities>
	<us-gaap:DerivativeLiabilityCollateralRightToReclaimCashOffset contextRef="FI2017Q4" decimals="-3" id="Fact-DCEFE63F561D2476CF7F94A11DF79F6D" unitRef="usd">0</us-gaap:DerivativeLiabilityCollateralRightToReclaimCashOffset>
	<us-gaap:DerivativeLiabilityCollateralRightToReclaimCashOffset contextRef="FI2018Q2" decimals="-3" id="Fact-8C2AA62C30E9B1D46CED94A11DFA7C1F" unitRef="usd">0</us-gaap:DerivativeLiabilityCollateralRightToReclaimCashOffset>
	<us-gaap:DerivativeNumberOfInstrumentsHeld contextRef="FI2018Q2" decimals="INF" id="Fact-4F2133998E45DE0AB91794A11E0D811A" unitRef="Category">2</us-gaap:DerivativeNumberOfInstrumentsHeld>
	<us-gaap:DividendPayableDateToBePaidDayMonthAndYear contextRef="D2018Q2SD_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember" id="Fact-E2F203A84E7FF37E805194A11E7B96E5">2018-08-31</us-gaap:DividendPayableDateToBePaidDayMonthAndYear>
	<us-gaap:Dividends contextRef="D2018Q2SD_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember" decimals="INF" id="Fact-D2AEC571BF0449B7E45494A11E80CF5F" unitRef="usd">0.045</us-gaap:Dividends>
	<us-gaap:DividendsCash contextRef="FD2018Q2YTD" decimals="-3" id="Fact-7E778B366B427098A57C94A11E0C8D4D" unitRef="usd">15524000</us-gaap:DividendsCash>
	<us-gaap:DividendsCash contextRef="FD2018Q2YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember" decimals="-3" id="Fact-C1B78C810280590E92BA94A11E006313" unitRef="usd">15524000</us-gaap:DividendsCash>
	<us-gaap:DividendsPayableDateOfRecordDayMonthAndYear contextRef="D2018Q2SD_us-gaap_SubsequentEventTypeAxis_us-gaap_SubsequentEventMember" id="Fact-6A2CD37D7F0CED4970D894A11E5C3395">2018-08-17</us-gaap:DividendsPayableDateOfRecordDayMonthAndYear>
	<us-gaap:EarningsPerShareDiluted contextRef="FD2017Q2QTD" decimals="2" id="Fact-DB94DDD64EE75C22767794A11E225D92" unitRef="usdPerShare">0.32</us-gaap:EarningsPerShareDiluted>
	<us-gaap:EarningsPerShareDiluted contextRef="FD2017Q2YTD" decimals="2" id="Fact-A73CBE83E5245A18556494A11E63196A" unitRef="usdPerShare">0.57</us-gaap:EarningsPerShareDiluted>
	<us-gaap:EarningsPerShareDiluted contextRef="FD2018Q2QTD" decimals="2" id="Fact-EA4626E6F53956D0ADB094A11E1BF5F9" unitRef="usdPerShare">0.32</us-gaap:EarningsPerShareDiluted>
	<us-gaap:EarningsPerShareDiluted contextRef="FD2018Q2YTD" decimals="2" id="Fact-053E335274147F171DF194A11E1A59B0" unitRef="usdPerShare">0.52</us-gaap:EarningsPerShareDiluted>
	<us-gaap:EffectOfExchangeRateOnCashAndCashEquivalents contextRef="FD2017Q2YTD" decimals="-3" id="Fact-B9E8E8523BC18CBD0FDA94A11E1061A7" unitRef="usd">2101000</us-gaap:EffectOfExchangeRateOnCashAndCashEquivalents>
	<us-gaap:EffectOfExchangeRateOnCashAndCashEquivalents contextRef="FD2018Q2YTD" decimals="-3" id="Fact-1DE4DAF4F3499450000694A11E234F5B" unitRef="usd">-119000</us-gaap:EffectOfExchangeRateOnCashAndCashEquivalents>
	<us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="FD2017Q2QTD" decimals="2" id="Fact-2B26DEFC93E6BD0022EA94A11E453622" unitRef="number">0.09</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
	<us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="FD2017Q2YTD" decimals="2" id="Fact-68354E10960197D4CC6F94A11DFF0ACD" unitRef="number">-0.01</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
	<us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="FD2018Q2QTD" decimals="2" id="Fact-71F07F6DA7AA5DB564E694A11E01F3BA" unitRef="number">0.16</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
	<us-gaap:EffectiveIncomeTaxRateContinuingOperations contextRef="FD2018Q2YTD" decimals="2" id="Fact-E3C05E400C0BB685860C94A11E4202E2" unitRef="number">0.11</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
	<us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate contextRef="FD2017Q2QTD" decimals="INF" id="Fact-458A8B2E097D056015F794A11E0DC44A" unitRef="number">0.35</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
	<us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate contextRef="FD2017Q2YTD" decimals="INF" id="Fact-40648D4A51E3651EB1CF94A11E2F0E40" unitRef="number">0.35</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
	<us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate contextRef="FD2018Q2QTD" decimals="INF" id="Fact-291219DDEE6E9946FA9794A11E11F876" unitRef="number">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
	<us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate contextRef="FD2018Q2YTD" decimals="INF" id="Fact-6A2E39AF1BB8D3776D0894A11E249178" unitRef="number">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
	<us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate contextRef="FD2018Q2YTD_us-gaap_IncomeTaxAuthorityAxis_us-gaap_DomesticCountryMember" decimals="INF" id="Fact-D8A9FE62E52CE7A8A27394A11E39BA19" unitRef="number">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
	<us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate contextRef="FD2018Q2YTD_us-gaap_IncomeTaxAuthorityAxis_us-gaap_ForeignCountryMember_us-gaap_IncomeTaxAuthorityNameAxis_us-gaap_RevenueCommissionersIrelandMember" decimals="INF" id="Fact-11C058C8184BE3A920CE94A11E375EE8" unitRef="number">0.125</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
	<us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate contextRef="FD2018Q2YTD_us-gaap_IncomeTaxAuthorityAxis_us-gaap_ForeignCountryMember_us-gaap_IncomeTaxAuthorityNameAxis_us-gaap_StateAdministrationOfTaxationChinaMember" decimals="INF" id="Fact-EAA10563AFCAA17556D494A11E3814FB" unitRef="number">0.25</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
	<us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential contextRef="FD2017Q2QTD" decimals="2" id="Fact-D9D112F2DF7BE9CBF66594A11E0696C8" unitRef="number">-0.18</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
	<us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential contextRef="FD2017Q2YTD" decimals="2" id="Fact-88449560F9D386AAE30494A11E391A9D" unitRef="number">-0.18</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
	<us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential contextRef="FD2018Q2QTD" decimals="2" id="Fact-FC57108CEB5CFB6A788294A11E3B33BD" unitRef="number">-0.07</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
	<us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential contextRef="FD2018Q2YTD" decimals="2" id="Fact-3C80C3F0275CDFC4B7D494A11E38F6C0" unitRef="number">-0.07</us-gaap:EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential>
	<us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments contextRef="FD2017Q2QTD" decimals="2" id="Fact-3B77375E463F00ED768394A11E05F4F6" unitRef="number">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
	<us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments contextRef="FD2017Q2YTD" decimals="2" id="Fact-D62DC09D3FAE74E3A2C294A11E4D08E6" unitRef="number">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
	<us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments contextRef="FD2018Q2QTD" decimals="2" id="Fact-02C6BF9DFB9FBDC916AD94A11E004CF6" unitRef="number">0.02</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
	<us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments contextRef="FD2018Q2YTD" decimals="2" id="Fact-F2341E136F78C192800794A11E0E9B24" unitRef="number">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
	<us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes contextRef="FD2017Q2QTD" decimals="2" id="Fact-0F54C951674BCA5BD4CF94A11DFEEE6C" unitRef="number">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
	<us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes contextRef="FD2017Q2YTD" decimals="2" id="Fact-3A900F890F7E016B2F1994A11E3C048B" unitRef="number">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
	<us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes contextRef="FD2018Q2QTD" decimals="2" id="Fact-5D951012912E81B5697194A11E41F8A2" unitRef="number">0.02</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
	<us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes contextRef="FD2018Q2YTD" decimals="2" id="Fact-7E6CAA54E1BF7A54E7DB94A11E05ACD3" unitRef="number">0.02</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
	<us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits contextRef="FD2017Q2QTD" decimals="2" id="Fact-30870DD67C97238E128D94A11E423373" unitRef="number">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits>
	<us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits contextRef="FD2017Q2YTD" decimals="2" id="Fact-D8F6764E10499587EA5C94A11E1107B6" unitRef="number">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits>
	<us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits contextRef="FD2018Q2QTD" decimals="2" id="Fact-8BA0B6313D9386338ADE94A11E130D0A" unitRef="number">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits>
	<us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits contextRef="FD2018Q2YTD" decimals="2" id="Fact-196FCD2F4F003B3D17DE94A11E156AAC" unitRef="number">0.01</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCredits>
	<us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized contextRef="FI2018Q2" decimals="0" id="Fact-C6B76F98E1B83483705794A11E509DC7" unitRef="usd">56124000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized>
	<us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense contextRef="FD2017Q2QTD" decimals="0" id="Fact-B4B04CD8D7DF29B71B9694A11E52A4FA" unitRef="usd">2583000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
	<us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense contextRef="FD2017Q2YTD" decimals="0" id="Fact-6124B817E81E65AB845E94A11E57DAA0" unitRef="usd">5022000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
	<us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense contextRef="FD2018Q2QTD" decimals="0" id="Fact-FD829C353A91DD01699494A11E45AD19" unitRef="usd">1607000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
	<us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense contextRef="FD2018Q2YTD" decimals="0" id="Fact-8FB899BC3412860B6E6694A11E4D4B71" unitRef="usd">3954000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
	<us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue contextRef="FI2017Q4_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-19C1BDCDCABBFF43877994A11E379DEF" unitRef="usd">3557000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue>
	<us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue contextRef="FI2018Q2_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-8408CBFCD3C33EF53DFD94A11E334F0C" unitRef="usd">2303000</us-gaap:FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue>
	<us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="FI2017Q4" decimals="-3" id="Fact-14E50C7B0AED18E36EFD94A11E3DE075" unitRef="usd">47535000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
	<us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="FI2017Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cgnx_CustomerContractsAndRelationshipsMember" decimals="-3" id="Fact-548486742632D50ABB5694A11E174352" unitRef="usd">5202000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
	<us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="FI2017Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember" decimals="-3" id="Fact-2457E06B7078269C1E8F94A11E6DA382" unitRef="usd">4181000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
	<us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="FI2017Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DistributionRightsMember" decimals="-3" id="Fact-B748A01E83AA112075E594A11E245E06" unitRef="usd">38060000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
	<us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="FI2017Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OtherIntangibleAssetsMember" decimals="-3" id="Fact-4DE57F7CE5C86CF4300394A11E62C86C" unitRef="usd">92000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
	<us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="FI2018Q2" decimals="-3" id="Fact-903A9ED197832B33769F94A11E3DF02A" unitRef="usd">49073000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
	<us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="FI2018Q2_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cgnx_CustomerContractsAndRelationshipsMember" decimals="-3" id="Fact-C9A6714654429E8111D894A11E41E881" unitRef="usd">5459000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
	<us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="FI2018Q2_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember" decimals="-3" id="Fact-65FA96D0F805B6BE0E4994A11E2FC8CF" unitRef="usd">5400000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
	<us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="FI2018Q2_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DistributionRightsMember" decimals="-3" id="Fact-74C7BE4B14F94AC92BEB94A11E62398E" unitRef="usd">38060000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
	<us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization contextRef="FI2018Q2_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OtherIntangibleAssetsMember" decimals="-3" id="Fact-EB5A42359E204808850F94A11E183DA9" unitRef="usd">154000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
	<us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive contextRef="FI2018Q2" decimals="-3" id="Fact-73B9B9E48EAB4C34FABE94A11E240BA6" unitRef="usd">530000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive>
	<us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths contextRef="FI2018Q2" decimals="-3" id="Fact-95E37D9ED9E86FCBB3D294A11E259759" unitRef="usd">2701000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
	<us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear contextRef="FI2018Q2" decimals="-3" id="Fact-C76347489B723EB7864794A11E232CD9" unitRef="usd">1538000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear>
	<us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive contextRef="FI2018Q2" decimals="-3" id="Fact-A9A44FAA7632E262E66294A11E21BECF" unitRef="usd">989000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
	<us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour contextRef="FI2018Q2" decimals="-3" id="Fact-AD188955ECAD2D6549C594A11E1FF65C" unitRef="usd">1691000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
	<us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree contextRef="FI2018Q2" decimals="-3" id="Fact-604C146AEF0ED39016DD94A11E20D0E6" unitRef="usd">2017000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
	<us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo contextRef="FI2018Q2" decimals="-3" id="Fact-0A0557C3C7563937BA0B94A11E26A3DB" unitRef="usd">2185000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
	<us-gaap:FiniteLivedIntangibleAssetsGross contextRef="FI2017Q4" decimals="-3" id="Fact-69F9BA34B09BA9B0402E94A11E192F3B" unitRef="usd">60724000</us-gaap:FiniteLivedIntangibleAssetsGross>
	<us-gaap:FiniteLivedIntangibleAssetsGross contextRef="FI2017Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cgnx_CustomerContractsAndRelationshipsMember" decimals="-3" id="Fact-84409616E2573845633E94A11E3D128D" unitRef="usd">8607000</us-gaap:FiniteLivedIntangibleAssetsGross>
	<us-gaap:FiniteLivedIntangibleAssetsGross contextRef="FI2017Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember" decimals="-3" id="Fact-14F0F4B32FBD409A96D394A11E164F46" unitRef="usd">13687000</us-gaap:FiniteLivedIntangibleAssetsGross>
	<us-gaap:FiniteLivedIntangibleAssetsGross contextRef="FI2017Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DistributionRightsMember" decimals="-3" id="Fact-E67A58FA3899AF1A94ED94A11E366133" unitRef="usd">38060000</us-gaap:FiniteLivedIntangibleAssetsGross>
	<us-gaap:FiniteLivedIntangibleAssetsGross contextRef="FI2017Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OtherIntangibleAssetsMember" decimals="-3" id="Fact-5A60987A07CF01C6B4E194A11E21FD7A" unitRef="usd">370000</us-gaap:FiniteLivedIntangibleAssetsGross>
	<us-gaap:FiniteLivedIntangibleAssetsGross contextRef="FI2018Q2" decimals="-3" id="Fact-3E3D6831307DFE127E9F94A11E60B966" unitRef="usd">60724000</us-gaap:FiniteLivedIntangibleAssetsGross>
	<us-gaap:FiniteLivedIntangibleAssetsGross contextRef="FI2018Q2_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cgnx_CustomerContractsAndRelationshipsMember" decimals="-3" id="Fact-A0C37F03EB523911A88D94A11E1DE774" unitRef="usd">8607000</us-gaap:FiniteLivedIntangibleAssetsGross>
	<us-gaap:FiniteLivedIntangibleAssetsGross contextRef="FI2018Q2_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember" decimals="-3" id="Fact-E064D2D5C666EC9C32AD94A11E27EFA9" unitRef="usd">13687000</us-gaap:FiniteLivedIntangibleAssetsGross>
	<us-gaap:FiniteLivedIntangibleAssetsGross contextRef="FI2018Q2_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DistributionRightsMember" decimals="-3" id="Fact-407B3D0418AB18320A4B94A11E642DE2" unitRef="usd">38060000</us-gaap:FiniteLivedIntangibleAssetsGross>
	<us-gaap:FiniteLivedIntangibleAssetsGross contextRef="FI2018Q2_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OtherIntangibleAssetsMember" decimals="-3" id="Fact-12BBC9F0C3F0DC8489C894A11E382387" unitRef="usd">370000</us-gaap:FiniteLivedIntangibleAssetsGross>
	<us-gaap:FiniteLivedIntangibleAssetsNet contextRef="FI2017Q4" decimals="-3" id="Fact-13C6C07292191442AA2A94A11E79A603" unitRef="usd">13189000</us-gaap:FiniteLivedIntangibleAssetsNet>
	<us-gaap:FiniteLivedIntangibleAssetsNet contextRef="FI2017Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cgnx_CustomerContractsAndRelationshipsMember" decimals="-3" id="Fact-032E240FC3FCA77DA2A694A11E3F819B" unitRef="usd">3405000</us-gaap:FiniteLivedIntangibleAssetsNet>
	<us-gaap:FiniteLivedIntangibleAssetsNet contextRef="FI2017Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember" decimals="-3" id="Fact-54438CE3376D0F6411CD94A11E24E5B9" unitRef="usd">9506000</us-gaap:FiniteLivedIntangibleAssetsNet>
	<us-gaap:FiniteLivedIntangibleAssetsNet contextRef="FI2017Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DistributionRightsMember" decimals="-3" id="Fact-666C9B81BA17E05A1DC194A11E1DDF6D" unitRef="usd">0</us-gaap:FiniteLivedIntangibleAssetsNet>
	<us-gaap:FiniteLivedIntangibleAssetsNet contextRef="FI2017Q4_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OtherIntangibleAssetsMember" decimals="-3" id="Fact-67FB1D16C38C7126D38794A11E65A825" unitRef="usd">278000</us-gaap:FiniteLivedIntangibleAssetsNet>
	<us-gaap:FiniteLivedIntangibleAssetsNet contextRef="FI2018Q2" decimals="-3" id="Fact-FE08565151F4FD6E3CE894A11DF731E3" unitRef="usd">11651000</us-gaap:FiniteLivedIntangibleAssetsNet>
	<us-gaap:FiniteLivedIntangibleAssetsNet contextRef="FI2018Q2_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_cgnx_CustomerContractsAndRelationshipsMember" decimals="-3" id="Fact-38C3D9C17E8C01454FD494A11E3BA4DF" unitRef="usd">3148000</us-gaap:FiniteLivedIntangibleAssetsNet>
	<us-gaap:FiniteLivedIntangibleAssetsNet contextRef="FI2018Q2_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DevelopedTechnologyRightsMember" decimals="-3" id="Fact-847DD9AC17E6628B94B194A11E2F55DF" unitRef="usd">8287000</us-gaap:FiniteLivedIntangibleAssetsNet>
	<us-gaap:FiniteLivedIntangibleAssetsNet contextRef="FI2018Q2_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_DistributionRightsMember" decimals="-3" id="Fact-E8193291BFC0F17EC48A94A11E371D60" unitRef="usd">0</us-gaap:FiniteLivedIntangibleAssetsNet>
	<us-gaap:FiniteLivedIntangibleAssetsNet contextRef="FI2018Q2_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_us-gaap_OtherIntangibleAssetsMember" decimals="-3" id="Fact-D3278201B87550DA343B94A11E15B2E2" unitRef="usd">216000</us-gaap:FiniteLivedIntangibleAssetsNet>
	<us-gaap:ForeignCurrencyContractAssetFairValueDisclosure contextRef="FI2018Q2_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-F887570CEC54ABD993E494A11E3146C2" unitRef="usd">0</us-gaap:ForeignCurrencyContractAssetFairValueDisclosure>
	<us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure contextRef="FI2018Q2_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-DC0B73B2C3FAEF820C7F94A11E30E5A9" unitRef="usd">86000</us-gaap:ForeignCurrencyContractsLiabilityFairValueDisclosure>
	<us-gaap:ForeignCurrencyTransactionGainLossBeforeTax contextRef="FD2017Q2QTD" decimals="-3" id="Fact-BB80523F74E3001F331494A11E3B05FA" unitRef="usd">-184000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
	<us-gaap:ForeignCurrencyTransactionGainLossBeforeTax contextRef="FD2017Q2YTD" decimals="-3" id="Fact-6E9648CD6565DC745DA094A11E64468D" unitRef="usd">-447000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
	<us-gaap:ForeignCurrencyTransactionGainLossBeforeTax contextRef="FD2018Q2QTD" decimals="-3" id="Fact-EDA083C04F7DF1F446B494A11E56E164" unitRef="usd">-195000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
	<us-gaap:ForeignCurrencyTransactionGainLossBeforeTax contextRef="FD2018Q2YTD" decimals="-3" id="Fact-449999A09FA6B785921894A11E50705C" unitRef="usd">-329000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
	<us-gaap:GainLossOnSaleOfInvestments contextRef="FD2017Q2YTD" decimals="-3" id="Fact-6EEBF71042E400FB434394A11E1E248E" unitRef="usd">107000</us-gaap:GainLossOnSaleOfInvestments>
	<us-gaap:GainLossOnSaleOfInvestments contextRef="FD2018Q2YTD" decimals="-3" id="Fact-D5052FCB6BA9E7231B7D94A11DF7A205" unitRef="usd">269000</us-gaap:GainLossOnSaleOfInvestments>
	<us-gaap:Goodwill contextRef="FI2017Q4" decimals="-3" id="Fact-A527A4DE44EC00725F8394A11E58152D" unitRef="usd">113208000</us-gaap:Goodwill>
	<us-gaap:Goodwill contextRef="FI2018Q2" decimals="-3" id="Fact-0228BF1F92DB3A5AB9C794A11E27F8F9" unitRef="usd">113208000</us-gaap:Goodwill>
	<us-gaap:GrossProfit contextRef="FD2017Q2QTD" decimals="-3" id="Fact-FA82D17C87B9A5AE231494A11E5D5DFA" unitRef="usd">135916000</us-gaap:GrossProfit>
	<us-gaap:GrossProfit contextRef="FD2017Q2YTD" decimals="-3" id="Fact-D55BB9958108EA5B870394A11E3E3379" unitRef="usd">242423000</us-gaap:GrossProfit>
	<us-gaap:GrossProfit contextRef="FD2018Q2QTD" decimals="-3" id="Fact-9E6302FA02ECAE8CC2B394A11E6D35F0" unitRef="usd">157095000</us-gaap:GrossProfit>
	<us-gaap:GrossProfit contextRef="FD2018Q2YTD" decimals="-3" id="Fact-4FDA3A5E06555469682194A11E3DF58D" unitRef="usd">286464000</us-gaap:GrossProfit>
	<us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments contextRef="FD2017Q2QTD" decimals="-3" id="Fact-B716B1743CF5ACDF36D394A11E7D91D4" unitRef="usd">61806000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
	<us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments contextRef="FD2017Q2YTD" decimals="-3" id="Fact-3A5084B7A1952F60B2EA94A11E7FEDA7" unitRef="usd">101041000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
	<us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments contextRef="FD2018Q2QTD" decimals="-3" id="Fact-FAE224E332CCDF739FD494A11E6FAD71" unitRef="usd">66573000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
	<us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments contextRef="FD2018Q2YTD" decimals="-3" id="Fact-1051F8385D66A321355B94A11E2504D3" unitRef="usd">104552000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
	<us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare contextRef="FD2017Q2QTD" decimals="2" id="Fact-D72E6ED191DAA76956CA94A11E40DCD2" unitRef="usdPerShare">0.33</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
	<us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare contextRef="FD2017Q2YTD" decimals="2" id="Fact-BF2612EC67D303DD169E94A11E5D58DF" unitRef="usdPerShare">0.59</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
	<us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare contextRef="FD2018Q2QTD" decimals="2" id="Fact-D28832B6E9BCCE9DA93194A11E61D90F" unitRef="usdPerShare">0.33</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
	<us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare contextRef="FD2018Q2YTD" decimals="2" id="Fact-8CD0AF89FBFEBA90104C94A11E734F1A" unitRef="usdPerShare">0.54</us-gaap:IncomeLossFromContinuingOperationsPerDilutedShare>
	<us-gaap:IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear contextRef="FI2018Q2" decimals="-3" id="Fact-D40D016B4BA8F7E0684F94A11E369485" unitRef="usd">879000</us-gaap:IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear>
	<us-gaap:IncomeTaxExpenseBenefit contextRef="FD2017Q2QTD" decimals="-3" id="Fact-25D3A58A118DB7E1374E94A11E4E5C9E" unitRef="usd">5311000</us-gaap:IncomeTaxExpenseBenefit>
	<us-gaap:IncomeTaxExpenseBenefit contextRef="FD2017Q2YTD" decimals="-3" id="Fact-F90771E577D28A274E8B94A11E3E422E" unitRef="usd">-925000</us-gaap:IncomeTaxExpenseBenefit>
	<us-gaap:IncomeTaxExpenseBenefit contextRef="FD2018Q2QTD" decimals="-3" id="Fact-E158FC896EDB25151D2394A11E419E92" unitRef="usd">10377000</us-gaap:IncomeTaxExpenseBenefit>
	<us-gaap:IncomeTaxExpenseBenefit contextRef="FD2018Q2YTD" decimals="-3" id="Fact-893A39EFC5367778964494A11E7EA975" unitRef="usd">11139000</us-gaap:IncomeTaxExpenseBenefit>
	<us-gaap:IncreaseDecreaseInAccountsPayable contextRef="FD2017Q2YTD" decimals="-3" id="Fact-798E2970748DB4AB06B994A11E330051" unitRef="usd">11814000</us-gaap:IncreaseDecreaseInAccountsPayable>
	<us-gaap:IncreaseDecreaseInAccountsPayable contextRef="FD2018Q2YTD" decimals="-3" id="Fact-CA073278A9FE6C9E13BE94A11E2EF218" unitRef="usd">-10889000</us-gaap:IncreaseDecreaseInAccountsPayable>
	<us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="FD2017Q2YTD" decimals="-3" id="Fact-B49EE91A9365044FBC8C94A11E1EC887" unitRef="usd">18841000</us-gaap:IncreaseDecreaseInAccountsReceivable>
	<us-gaap:IncreaseDecreaseInAccountsReceivable contextRef="FD2018Q2YTD" decimals="-3" id="Fact-2AD504394F405D111F2E94A11E256D21" unitRef="usd">18779000</us-gaap:IncreaseDecreaseInAccountsReceivable>
	<us-gaap:IncreaseDecreaseInAccruedLiabilities contextRef="FD2017Q2YTD" decimals="-3" id="Fact-6D3EB87ACDAA0D14D4E694A11E07AC77" unitRef="usd">-157000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
	<us-gaap:IncreaseDecreaseInAccruedLiabilities contextRef="FD2018Q2YTD" decimals="-3" id="Fact-A782F2715B5AF0DD742794A11E34AC35" unitRef="usd">-5666000</us-gaap:IncreaseDecreaseInAccruedLiabilities>
	<us-gaap:IncreaseDecreaseInAccruedTaxesPayable contextRef="FD2017Q2YTD" decimals="-3" id="Fact-DF0ACD592CC3003471CC94A11E7F07B5" unitRef="usd">-532000</us-gaap:IncreaseDecreaseInAccruedTaxesPayable>
	<us-gaap:IncreaseDecreaseInAccruedTaxesPayable contextRef="FD2018Q2YTD" decimals="-3" id="Fact-FBBFC1F9DE51F4B933A994A11E041479" unitRef="usd">-5360000</us-gaap:IncreaseDecreaseInAccruedTaxesPayable>
	<us-gaap:IncreaseDecreaseInDeferredIncomeTaxes contextRef="FD2017Q2YTD" decimals="-3" id="Fact-C6BD91E9FC59BA4A178894A11E198372" unitRef="usd">972000</us-gaap:IncreaseDecreaseInDeferredIncomeTaxes>
	<us-gaap:IncreaseDecreaseInDeferredIncomeTaxes contextRef="FD2018Q2YTD" decimals="-3" id="Fact-C9681B9ED427C66ED4C594A11E053634" unitRef="usd">2385000</us-gaap:IncreaseDecreaseInDeferredIncomeTaxes>
	<us-gaap:IncreaseDecreaseInDeferredRevenue contextRef="FD2017Q2YTD" decimals="-3" id="Fact-A67B36F1064290FBCD7594A11E768581" unitRef="usd">9080000</us-gaap:IncreaseDecreaseInDeferredRevenue>
	<us-gaap:IncreaseDecreaseInDeferredRevenue contextRef="FD2018Q2YTD" decimals="-3" id="Fact-217C16F6EBBBE92F51D994A11E7F7918" unitRef="usd">32470000</us-gaap:IncreaseDecreaseInDeferredRevenue>
	<us-gaap:IncreaseDecreaseInInventories contextRef="FD2017Q2YTD" decimals="-3" id="Fact-EAD8EA68E4815E275CB294A11E76F814" unitRef="usd">7711000</us-gaap:IncreaseDecreaseInInventories>
	<us-gaap:IncreaseDecreaseInInventories contextRef="FD2018Q2YTD" decimals="-3" id="Fact-FDA1CFF4C474207CC34694A11E10D062" unitRef="usd">23220000</us-gaap:IncreaseDecreaseInInventories>
	<us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet contextRef="FD2017Q2YTD" decimals="-3" id="Fact-8BDCDB7E9D59F1BA545B94A11E30318D" unitRef="usd">-8000</us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet>
	<us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet contextRef="FD2018Q2YTD" decimals="-3" id="Fact-EC193DACE3A1F483398394A11DFAE615" unitRef="usd">-162000</us-gaap:IncreaseDecreaseInOtherOperatingCapitalNet>
	<us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets contextRef="FD2017Q2YTD" decimals="-3" id="Fact-7A123295ACD7D4AB6D6294A11E26B5C3" unitRef="usd">23990000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
	<us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets contextRef="FD2018Q2YTD" decimals="-3" id="Fact-11FE46A882F2E767DBFE94A11E0CD12E" unitRef="usd">23112000</us-gaap:IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets>
	<us-gaap:IncreaseDecreaseInUnbilledReceivables contextRef="FD2017Q2YTD" decimals="-3" id="Fact-6F0325A89610628D252594A11E07CE41" unitRef="usd">3315000</us-gaap:IncreaseDecreaseInUnbilledReceivables>
	<us-gaap:IncreaseDecreaseInUnbilledReceivables contextRef="FD2018Q2YTD" decimals="-3" id="Fact-15695D9CBFFE49B83E5994A11E031457" unitRef="usd">-3803000</us-gaap:IncreaseDecreaseInUnbilledReceivables>
	<us-gaap:InventoryFinishedGoodsNetOfReserves contextRef="FI2017Q4" decimals="-3" id="Fact-259A6C1DA6D1B2D3BDAC94A11E7D72DA" unitRef="usd">31882000</us-gaap:InventoryFinishedGoodsNetOfReserves>
	<us-gaap:InventoryFinishedGoodsNetOfReserves contextRef="FI2018Q2" decimals="-3" id="Fact-E3987B587DE316F2895194A11E75B79E" unitRef="usd">43536000</us-gaap:InventoryFinishedGoodsNetOfReserves>
	<us-gaap:InventoryNet contextRef="FI2017Q4" decimals="-3" id="Fact-B380ABE4AD74705BF17194A11E38639F" unitRef="usd">67923000</us-gaap:InventoryNet>
	<us-gaap:InventoryNet contextRef="FI2018Q2" decimals="-3" id="Fact-464145A9D8EE679A53C094A11E662B2A" unitRef="usd">89556000</us-gaap:InventoryNet>
	<us-gaap:InventoryRawMaterialsNetOfReserves contextRef="FI2017Q4" decimals="-3" id="Fact-1718AABCCC630420CDF994A11E70A05F" unitRef="usd">33927000</us-gaap:InventoryRawMaterialsNetOfReserves>
	<us-gaap:InventoryRawMaterialsNetOfReserves contextRef="FI2018Q2" decimals="-3" id="Fact-070132122356A14B561D94A11E7C7C99" unitRef="usd">46020000</us-gaap:InventoryRawMaterialsNetOfReserves>
	<us-gaap:InventoryWorkInProcessNetOfReserves contextRef="FI2017Q4" decimals="-3" id="Fact-D023F948721C44B1B77E94A11E798D68" unitRef="usd">2114000</us-gaap:InventoryWorkInProcessNetOfReserves>
	<us-gaap:InventoryWorkInProcessNetOfReserves contextRef="FI2018Q2" decimals="-3" id="Fact-EAACFF464688370DD97B94A11E7B342C" unitRef="usd">0</us-gaap:InventoryWorkInProcessNetOfReserves>
	<us-gaap:InvestmentIncomeNonoperating contextRef="FD2017Q2QTD" decimals="-3" id="Fact-CD17421ACF070704D19B94A11E728D6D" unitRef="usd">2138000</us-gaap:InvestmentIncomeNonoperating>
	<us-gaap:InvestmentIncomeNonoperating contextRef="FD2017Q2YTD" decimals="-3" id="Fact-971E0A34F8F69AE38E9194A11E5971DB" unitRef="usd">4150000</us-gaap:InvestmentIncomeNonoperating>
	<us-gaap:InvestmentIncomeNonoperating contextRef="FD2018Q2QTD" decimals="-3" id="Fact-CBFD87A6977D4BEB301394A11E75FB2C" unitRef="usd">3559000</us-gaap:InvestmentIncomeNonoperating>
	<us-gaap:InvestmentIncomeNonoperating contextRef="FD2018Q2YTD" decimals="-3" id="Fact-7C59BA630C73F8D9379894A11E3DCD33" unitRef="usd">6799000</us-gaap:InvestmentIncomeNonoperating>
	<us-gaap:Liabilities contextRef="FI2017Q4" decimals="-3" id="Fact-323CA29C0A16F99BA78394A11E140CD1" unitRef="usd">192080000</us-gaap:Liabilities>
	<us-gaap:Liabilities contextRef="FI2018Q2" decimals="-3" id="Fact-A532461E355AD245C6D594A11E707E3F" unitRef="usd">197178000</us-gaap:Liabilities>
	<us-gaap:LiabilitiesAndStockholdersEquity contextRef="FI2017Q4" decimals="-3" id="Fact-A7727C7B6B247237D45394A11E5817D8" unitRef="usd">1287753000</us-gaap:LiabilitiesAndStockholdersEquity>
	<us-gaap:LiabilitiesAndStockholdersEquity contextRef="FI2018Q2" decimals="-3" id="Fact-FFD2681023213F6EB2DA94A11E13BAC2" unitRef="usd">1276310000</us-gaap:LiabilitiesAndStockholdersEquity>
	<us-gaap:LiabilitiesCurrent contextRef="FI2017Q4" decimals="-3" id="Fact-C9A2D7B5DD683273C73394A11E14D42B" unitRef="usd">112635000</us-gaap:LiabilitiesCurrent>
	<us-gaap:LiabilitiesCurrent contextRef="FI2018Q2" decimals="-3" id="Fact-E4A22AF567C7568D975D94A11E6D301A" unitRef="usd">124600000</us-gaap:LiabilitiesCurrent>
	<us-gaap:LiabilitiesFairValueAdjustment contextRef="FD2018Q2YTD_us-gaap_BusinessAcquisitionAxis_cgnx_ChiaroTechnologiesLLCMember_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-0819B34DDAAB29FD8ECD94A11E3387F7" unitRef="usd">108000</us-gaap:LiabilitiesFairValueAdjustment>
	<us-gaap:LiabilitiesFairValueAdjustment contextRef="FD2018Q2YTD_us-gaap_BusinessAcquisitionAxis_cgnx_GViVenturesInc.Member_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-62B7F05658550E81768B94A11E3466C4" unitRef="usd">988000</us-gaap:LiabilitiesFairValueAdjustment>
	<us-gaap:LiabilitiesFairValueAdjustment contextRef="FD2018Q2YTD_us-gaap_BusinessAcquisitionAxis_cgnx_ManateeWorksInc.Member_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel3Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-A831CEA9321B67E677D894A11E3276EA" unitRef="usd">-1350000</us-gaap:LiabilitiesFairValueAdjustment>
	<us-gaap:LiabilityForUncertainTaxPositionsNoncurrent contextRef="FI2017Q4" decimals="-3" id="Fact-5571D7714AFD3EAFE22F94A11E64E296" unitRef="usd">6488000</us-gaap:LiabilityForUncertainTaxPositionsNoncurrent>
	<us-gaap:LiabilityForUncertainTaxPositionsNoncurrent contextRef="FI2018Q2" decimals="-3" id="Fact-D552DBEAEBD6DC473D0394A11E39E93E" unitRef="usd">7399000</us-gaap:LiabilityForUncertainTaxPositionsNoncurrent>
	<us-gaap:LongTermInvestments contextRef="FI2017Q4" decimals="-3" id="Fact-1DCC9B994F7164B87D5894A11E7CF3C0" unitRef="usd">423441000</us-gaap:LongTermInvestments>
	<us-gaap:LongTermInvestments contextRef="FI2018Q2" decimals="-3" id="Fact-B97DEE2FE3B673613FBA94A11E2F278E" unitRef="usd">271941000</us-gaap:LongTermInvestments>
	<us-gaap:MaximumLengthOfTimeHedgedInCashFlowHedge1 contextRef="FD2018Q2YTD_us-gaap_HedgingDesignationAxis_us-gaap_DesignatedAsHedgingInstrumentMember" id="Fact-B546F331698A5B5593EE94A11E0FF6DA">P18M</us-gaap:MaximumLengthOfTimeHedgedInCashFlowHedge1>
	<us-gaap:MaximumRemainingMaturityOfForeignCurrencyDerivatives1 contextRef="FD2018Q2YTD_us-gaap_HedgingDesignationAxis_us-gaap_NondesignatedMember" id="Fact-A54773D7874F5947330D94A11E05807D">P45D</us-gaap:MaximumRemainingMaturityOfForeignCurrencyDerivatives1>
	<us-gaap:MoneyMarketFundsAtCarryingValue contextRef="FI2017Q4" decimals="-3" id="Fact-04932D11F30D45630DCA94A11E387781" unitRef="usd">8631000</us-gaap:MoneyMarketFundsAtCarryingValue>
	<us-gaap:MoneyMarketFundsAtCarryingValue contextRef="FI2018Q2" decimals="-3" id="Fact-37EF05CAF1584FB4336E94A11E37B166" unitRef="usd">5055000</us-gaap:MoneyMarketFundsAtCarryingValue>
	<us-gaap:MoneyMarketFundsAtCarryingValue contextRef="FI2018Q2_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel1Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-E3C7BC23F68668D6D70394A11E3A14D7" unitRef="usd">5055000</us-gaap:MoneyMarketFundsAtCarryingValue>
	<us-gaap:MoneyMarketFundsAtCarryingValue contextRef="FI2018Q2_us-gaap_FairValueByFairValueHierarchyLevelAxis_us-gaap_FairValueInputsLevel2Member_us-gaap_FairValueByMeasurementFrequencyAxis_us-gaap_FairValueMeasurementsRecurringMember" decimals="-3" id="Fact-1CA782CF83BE4532F5C394A11E3899EB" unitRef="usd">0</us-gaap:MoneyMarketFundsAtCarryingValue>
	<us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="FD2017Q2YTD" decimals="-3" id="Fact-A83816B66DF9A1D0921294A11E32AC9F" unitRef="usd">-41157000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
	<us-gaap:NetCashProvidedByUsedInFinancingActivities contextRef="FD2018Q2YTD" decimals="-3" id="Fact-53CEAAEEBA67F4C8711994A11E23CCFF" unitRef="usd">-123021000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
	<us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="FD2017Q2YTD" decimals="-3" id="Fact-CDF40311C21A0DFA7A0B94A11E7DCEF9" unitRef="usd">-62939000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
	<us-gaap:NetCashProvidedByUsedInInvestingActivities contextRef="FD2018Q2YTD" decimals="-3" id="Fact-86BD12B108A6B3EF803F94A11E0798C4" unitRef="usd">73144000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
	<us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="FD2017Q2YTD" decimals="-3" id="Fact-746817908C9D5A5B09A194A11E40846D" unitRef="usd">90620000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
	<us-gaap:NetCashProvidedByUsedInOperatingActivities contextRef="FD2018Q2YTD" decimals="-3" id="Fact-8C3EFCC25000E3B11F2494A11E027F74" unitRef="usd">72616000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
	<us-gaap:NetIncomeLoss contextRef="FD2017Q2QTD" decimals="-3" id="Fact-32E0E00678343279CB4094A11E5C4032" unitRef="usd">56495000</us-gaap:NetIncomeLoss>
	<us-gaap:NetIncomeLoss contextRef="FD2017Q2YTD" decimals="-3" id="Fact-84A7DC3B8C33903BC6AC94A11E7619F3" unitRef="usd">101966000</us-gaap:NetIncomeLoss>
	<us-gaap:NetIncomeLoss contextRef="FD2018Q2QTD" decimals="-3" id="Fact-95AB4E661AAD1E4F7CF494A11E3F04FC" unitRef="usd">56196000</us-gaap:NetIncomeLoss>
	<us-gaap:NetIncomeLoss contextRef="FD2018Q2YTD" decimals="-3" id="Fact-E822594479B33E9B83A094A11E196C54" unitRef="usd">93413000</us-gaap:NetIncomeLoss>
	<us-gaap:NetIncomeLoss contextRef="FD2018Q2YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember" decimals="-3" id="Fact-C0CAC7A454C60A3F83F694A11E1684B9" unitRef="usd">93413000</us-gaap:NetIncomeLoss>
	<us-gaap:OperatingIncomeLoss contextRef="FD2017Q2QTD" decimals="-3" id="Fact-005128E71466ADB19F8594A11E225E67" unitRef="usd">60021000</us-gaap:OperatingIncomeLoss>
	<us-gaap:OperatingIncomeLoss contextRef="FD2017Q2YTD" decimals="-3" id="Fact-A50921BBC41FDA2601B594A11E764CDC" unitRef="usd">97237000</us-gaap:OperatingIncomeLoss>
	<us-gaap:OperatingIncomeLoss contextRef="FD2018Q2QTD" decimals="-3" id="Fact-722D13705C0814ACCFFD94A11E1EEF99" unitRef="usd">63455000</us-gaap:OperatingIncomeLoss>
	<us-gaap:OperatingIncomeLoss contextRef="FD2018Q2YTD" decimals="-3" id="Fact-C199B5211714A4E781C494A11E5EA956" unitRef="usd">98051000</us-gaap:OperatingIncomeLoss>
	<us-gaap:OtherAssetsNoncurrent contextRef="FI2017Q4" decimals="-3" id="Fact-3C0DE1863D7EF730CE6294A11E7CDD93" unitRef="usd">2491000</us-gaap:OtherAssetsNoncurrent>
	<us-gaap:OtherAssetsNoncurrent contextRef="FI2018Q2" decimals="-3" id="Fact-057F1CE8E562E800E03694A11E30B8B6" unitRef="usd">2178000</us-gaap:OtherAssetsNoncurrent>
	<us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent contextRef="FD2017Q2QTD" decimals="-3" id="Fact-5CBF5C20D92439925BA894A11E264014" unitRef="usd">265000</us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent>
	<us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent contextRef="FD2017Q2YTD" decimals="-3" id="Fact-D7BF1A4B33667DE4341894A11E57522A" unitRef="usd">711000</us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent>
	<us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent contextRef="FD2018Q2QTD" decimals="-3" id="Fact-36624D0025F503D8C19694A11E27A22B" unitRef="usd">243000</us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent>
	<us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent contextRef="FD2018Q2YTD" decimals="-3" id="Fact-D88C83BAE5F0A32DD15E94A11DF92943" unitRef="usd">-971000</us-gaap:OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent>
	<us-gaap:OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax contextRef="FD2017Q2QTD" decimals="-3" id="Fact-0525D43B7100E99234E294A11E6456C8" unitRef="usd">0</us-gaap:OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax>
	<us-gaap:OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax contextRef="FD2017Q2YTD" decimals="-3" id="Fact-08A301C88E84339F5E8094A11E72DB60" unitRef="usd">0</us-gaap:OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax>
	<us-gaap:OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax contextRef="FD2018Q2QTD" decimals="-3" id="Fact-070C375B8AE39859F1B394A11E784B19" unitRef="usd">0</us-gaap:OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax>
	<us-gaap:OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax contextRef="FD2018Q2YTD" decimals="-3" id="Fact-8611D6C9DEEE67AD6F2594A11E6EC564" unitRef="usd">0</us-gaap:OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax>
	<us-gaap:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax contextRef="FD2017Q2QTD" decimals="-3" id="Fact-8F39BE752F7144C81E7594A11E55F90E" unitRef="usd">50000</us-gaap:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax contextRef="FD2017Q2YTD" decimals="-3" id="Fact-810FED5C67520222417F94A11E21E9B9" unitRef="usd">23000</us-gaap:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax contextRef="FD2018Q2QTD" decimals="-3" id="Fact-C6EC9121F7680FD0799194A11E120961" unitRef="usd">0</us-gaap:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax contextRef="FD2018Q2YTD" decimals="-3" id="Fact-1ED2AB629AFA158AE3C694A11E063F58" unitRef="usd">0</us-gaap:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax contextRef="FD2017Q2QTD" decimals="-3" id="Fact-046E4D8CD1660AF7420B94A11E80657B" unitRef="usd">7000</us-gaap:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax>
	<us-gaap:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax contextRef="FD2017Q2YTD" decimals="-3" id="Fact-BB15E487DAC1824E579394A11E79DCE0" unitRef="usd">3000</us-gaap:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax>
	<us-gaap:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax contextRef="FD2018Q2QTD" decimals="-3" id="Fact-8F22A9E2087E8F2D28EF94A11E7A6774" unitRef="usd">0</us-gaap:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax>
	<us-gaap:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax contextRef="FD2018Q2YTD" decimals="-3" id="Fact-D3C2E73EAB05C711EDEB94A11E61A763" unitRef="usd">0</us-gaap:OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax>
	<us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="FD2017Q2QTD" decimals="-3" id="Fact-82C4E6B4FB1EF10B74BE94A11E3C4F49" unitRef="usd">10263000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="FD2017Q2YTD" decimals="-3" id="Fact-4894C2B0611A6226134C94A11E5DFE35" unitRef="usd">12744000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="FD2018Q2QTD" decimals="-3" id="Fact-477A4ECC9086C7D1B3DC94A11DFB178C" unitRef="usd">-7253000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="FD2018Q2YTD" decimals="-3" id="Fact-F3DDDD535B53B8322F4894A11E114207" unitRef="usd">-3197000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax contextRef="FD2018Q2YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember" decimals="-3" id="Fact-CE6FE1A530E6A21F275C94A11DFCE084" unitRef="usd">-3197000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="FD2017Q2QTD" decimals="-3" id="Fact-39367AE9282C29E7055294A11E18C08D" unitRef="usd">10578000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
	<us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="FD2017Q2YTD" decimals="-3" id="Fact-CC728D895EC519CD57EA94A11E2E5CED" unitRef="usd">13478000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
	<us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="FD2018Q2QTD" decimals="-3" id="Fact-B7164BCB2A5F943542C594A11E546C24" unitRef="usd">-7010000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
	<us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent contextRef="FD2018Q2YTD" decimals="-3" id="Fact-92C659E9DAC7D9181B0994A11E2D21E7" unitRef="usd">-4168000</us-gaap:OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent>
	<us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax contextRef="FD2017Q2QTD" decimals="-3" id="Fact-6D7EDDF704D22F8D28F294A11E153A47" unitRef="usd">42000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax contextRef="FD2017Q2YTD" decimals="-3" id="Fact-E3E5330BAC845E9D8BFB94A11DFF8199" unitRef="usd">107000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax contextRef="FD2018Q2QTD" decimals="-3" id="Fact-AD5EF0A4F7FDE062CAD294A11E255603" unitRef="usd">247000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax contextRef="FD2018Q2YTD" decimals="-3" id="Fact-DD834D8A072421B0B42194A11DF64795" unitRef="usd">269000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax contextRef="FD2018Q2YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember" decimals="-3" id="Fact-FC882F34AB5F17E6840E94A11E00DCE2" unitRef="usd">269000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax contextRef="FD2017Q2QTD" decimals="-3" id="Fact-CC396D02DCEE589A505294A11E17CB80" unitRef="usd">9000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax contextRef="FD2017Q2YTD" decimals="-3" id="Fact-0852191E2008D31DFB8694A11E23A0CA" unitRef="usd">-35000</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax contextRef="FD2018Q2QTD" decimals="-3" id="Fact-4FF9A6462BD5D37D4CAF94A11E5D30DE" unitRef="usd">0</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax>
	<us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax contextRef="FD2018Q2YTD" decimals="-3" id="Fact-9625D74D3C7841EC70F594A11E5A0F6B" unitRef="usd">0</us-gaap:OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax>
	<us-gaap:OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax contextRef="FD2017Q2QTD" decimals="-3" id="Fact-F6864239702957607EB294A11E0CDAC4" unitRef="usd">59000</us-gaap:OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax>
	<us-gaap:OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax contextRef="FD2017Q2YTD" decimals="-3" id="Fact-A45A38CEBE069BB18E2094A11E5860D1" unitRef="usd">-12000</us-gaap:OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax>
	<us-gaap:OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax contextRef="FD2018Q2QTD" decimals="-3" id="Fact-8648175A312F9C15A4A294A11E0DAEB5" unitRef="usd">0</us-gaap:OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax>
	<us-gaap:OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax contextRef="FD2018Q2YTD" decimals="-3" id="Fact-C8B2EAEC7835D5C8CE9D94A11E5F5945" unitRef="usd">0</us-gaap:OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax>
	<us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax contextRef="FD2017Q2QTD" decimals="-3" id="Fact-C20187BD4AC2534A5F0F94A11E20416A" unitRef="usd">307000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
	<us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax contextRef="FD2017Q2YTD" decimals="-3" id="Fact-F3F3E4EFDB968E4051C394A11E1294B7" unitRef="usd">818000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
	<us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax contextRef="FD2018Q2QTD" decimals="-3" id="Fact-D8699FB98860864D8D6294A11E5AA981" unitRef="usd">490000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
	<us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax contextRef="FD2018Q2YTD" decimals="-3" id="Fact-F61D5858E83770ABBC3094A11DF4418B" unitRef="usd">-702000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
	<us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax contextRef="FD2018Q2YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember" decimals="-3" id="Fact-28FEE64240BF318D45E894A11E06FE70" unitRef="usd">-702000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax>
	<us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax contextRef="FD2017Q2QTD" decimals="-3" id="Fact-F0100E0EDD475877EDD294A11E7969B2" unitRef="usd">58000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax>
	<us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax contextRef="FD2017Q2YTD" decimals="-3" id="Fact-074C15270B07835CDC5D94A11E773EBB" unitRef="usd">150000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax>
	<us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax contextRef="FD2018Q2QTD" decimals="-3" id="Fact-6374FF7AEE74A5507C6894A11E656468" unitRef="usd">8000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax>
	<us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax contextRef="FD2018Q2YTD" decimals="-3" id="Fact-0CB1743540C47D189EDE94A11E65FDA1" unitRef="usd">-106000</us-gaap:OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax>
	<us-gaap:OtherLiabilitiesNoncurrent contextRef="FI2017Q4" decimals="-3" id="Fact-FE3E316AC491AC28F01594A11E21D627" unitRef="usd">5904000</us-gaap:OtherLiabilitiesNoncurrent>
	<us-gaap:OtherLiabilitiesNoncurrent contextRef="FI2018Q2" decimals="-3" id="Fact-F677E51EBEBB244B71F394A11E14B95E" unitRef="usd">4634000</us-gaap:OtherLiabilitiesNoncurrent>
	<us-gaap:OtherNonoperatingIncomeExpense contextRef="FD2017Q2QTD" decimals="-3" id="Fact-71838675869AD0979FFF94A11E316EC6" unitRef="usd">-169000</us-gaap:OtherNonoperatingIncomeExpense>
	<us-gaap:OtherNonoperatingIncomeExpense contextRef="FD2017Q2YTD" decimals="-3" id="Fact-48A1F6C96299528AA5DB94A11E44AF63" unitRef="usd">101000</us-gaap:OtherNonoperatingIncomeExpense>
	<us-gaap:OtherNonoperatingIncomeExpense contextRef="FD2018Q2QTD" decimals="-3" id="Fact-AEF21038DF9688736D1594A11E550354" unitRef="usd">-246000</us-gaap:OtherNonoperatingIncomeExpense>
	<us-gaap:OtherNonoperatingIncomeExpense contextRef="FD2018Q2YTD" decimals="-3" id="Fact-AD058F704F42477CB3C594A11E42EE59" unitRef="usd">31000</us-gaap:OtherNonoperatingIncomeExpense>
	<us-gaap:PaymentsForRepurchaseOfCommonStock contextRef="FD2017Q2YTD" decimals="-3" id="Fact-1038204F5BBB13F44A4094A11E78A35C" unitRef="usd">62343000</us-gaap:PaymentsForRepurchaseOfCommonStock>
	<us-gaap:PaymentsForRepurchaseOfCommonStock contextRef="FD2018Q2YTD" decimals="-3" id="Fact-E4A641E57E945766278594A11E3E87B0" unitRef="usd">121308000</us-gaap:PaymentsForRepurchaseOfCommonStock>
	<us-gaap:PaymentsOfDividendsCommonStock contextRef="FD2017Q2YTD" decimals="-3" id="Fact-151EAB918A4EF4326BDB94A11E1B09F3" unitRef="usd">13864000</us-gaap:PaymentsOfDividendsCommonStock>
	<us-gaap:PaymentsOfDividendsCommonStock contextRef="FD2018Q2YTD" decimals="-3" id="Fact-C8125577163FD319AC5A94A11E2D78AE" unitRef="usd">15524000</us-gaap:PaymentsOfDividendsCommonStock>
	<us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="FD2017Q2YTD" decimals="-3" id="Fact-84A3FE98DC77D6D0871694A11E788F98" unitRef="usd">25519000</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
	<us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired contextRef="FD2018Q2YTD" decimals="-3" id="Fact-3CBE72B5966D1F98D82794A11E3AA599" unitRef="usd">0</us-gaap:PaymentsToAcquireBusinessesNetOfCashAcquired>
	<us-gaap:PaymentsToAcquireInvestments contextRef="FD2017Q2YTD" decimals="-3" id="Fact-8C012D79B32904F16E2194A11E7B330F" unitRef="usd">304611000</us-gaap:PaymentsToAcquireInvestments>
	<us-gaap:PaymentsToAcquireInvestments contextRef="FD2018Q2YTD" decimals="-3" id="Fact-BA3B2B5A797F5AA65CBB94A11E214397" unitRef="usd">336189000</us-gaap:PaymentsToAcquireInvestments>
	<us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="FD2017Q2YTD" decimals="-3" id="Fact-DD21CE15BFD294EE062294A11E266AAB" unitRef="usd">12172000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
	<us-gaap:PaymentsToAcquirePropertyPlantAndEquipment contextRef="FD2018Q2YTD" decimals="-3" id="Fact-29FA1AD47C01F0580EB294A11DF80FB0" unitRef="usd">21675000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
	<us-gaap:PrepaidExpenseAndOtherAssetsCurrent contextRef="FI2017Q4" decimals="-3" id="Fact-BBD4FD398A0F737EEC8894A11DFB66F7" unitRef="usd">30683000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
	<us-gaap:PrepaidExpenseAndOtherAssetsCurrent contextRef="FI2018Q2" decimals="-3" id="Fact-02410755D6B7B752A5D294A11E27731C" unitRef="usd">47362000</us-gaap:PrepaidExpenseAndOtherAssetsCurrent>
	<us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions contextRef="FD2017Q2YTD" decimals="-3" id="Fact-C302F6DFA6343A3EC88894A11DFBB381" unitRef="usd">35050000</us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions>
	<us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions contextRef="FD2018Q2YTD" decimals="-3" id="Fact-64D2F8C7FE989879910594A11E371199" unitRef="usd">14811000</us-gaap:ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions>
	<us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments contextRef="FD2017Q2YTD" decimals="-3" id="Fact-390B299A9BFD0F73496494A11E1B926F" unitRef="usd">279654000</us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments>
	<us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments contextRef="FD2018Q2YTD" decimals="-3" id="Fact-CE285F75D2CFBA7C03D194A11DFD8163" unitRef="usd">431008000</us-gaap:ProceedsFromSaleMaturityAndCollectionsOfInvestments>
	<us-gaap:ProductWarrantyAccrual contextRef="FI2017Q4" decimals="-3" id="Fact-60BA4F06CA32204DDA5694A11E25E064" unitRef="usd">4701000</us-gaap:ProductWarrantyAccrual>
	<us-gaap:ProductWarrantyAccrual contextRef="FI2018Q2" decimals="-3" id="Fact-D15284D1DF79D5219A9A94A11E1AD561" unitRef="usd">5247000</us-gaap:ProductWarrantyAccrual>
	<us-gaap:ProductWarrantyAccrualPayments contextRef="FD2018Q2YTD" decimals="-3" id="Fact-293A017E6610DD9CDD3394A11DF97A75" unitRef="usd">1559000</us-gaap:ProductWarrantyAccrualPayments>
	<us-gaap:ProductWarrantyAccrualWarrantiesIssued contextRef="FD2018Q2YTD" decimals="-3" id="Fact-9F4C8199757F3CC488E094A11E12E7A9" unitRef="usd">2222000</us-gaap:ProductWarrantyAccrualWarrantiesIssued>
	<us-gaap:PropertyPlantAndEquipmentNet contextRef="FI2017Q4" decimals="-3" id="Fact-14267DCCCD600C2DAD9E94A11DFAA695" unitRef="usd">78048000</us-gaap:PropertyPlantAndEquipmentNet>
	<us-gaap:PropertyPlantAndEquipmentNet contextRef="FI2018Q2" decimals="-3" id="Fact-895C774A39A11C141AB894A11DFE864E" unitRef="usd">87893000</us-gaap:PropertyPlantAndEquipmentNet>
	<us-gaap:ResearchAndDevelopmentExpense contextRef="FD2017Q2QTD" decimals="-3" id="Fact-49DF316B5A282075AE3694A11E1C00D5" unitRef="usd">23377000</us-gaap:ResearchAndDevelopmentExpense>
	<us-gaap:ResearchAndDevelopmentExpense contextRef="FD2017Q2YTD" decimals="-3" id="Fact-22FB288DC666A21EE2E094A11E175577" unitRef="usd">46147000</us-gaap:ResearchAndDevelopmentExpense>
	<us-gaap:ResearchAndDevelopmentExpense contextRef="FD2018Q2QTD" decimals="-3" id="Fact-169F70AE2E05D36E2E3694A11E7ACB2D" unitRef="usd">26888000</us-gaap:ResearchAndDevelopmentExpense>
	<us-gaap:ResearchAndDevelopmentExpense contextRef="FD2018Q2YTD" decimals="-3" id="Fact-6A3EBE76A38945BEAE4C94A11E5B9751" unitRef="usd">57964000</us-gaap:ResearchAndDevelopmentExpense>
	<us-gaap:RetainedEarningsAccumulatedDeficit contextRef="FI2017Q4" decimals="-3" id="Fact-F3ED126A956B2E873B7D94A11E5D053C" unitRef="usd">668587000</us-gaap:RetainedEarningsAccumulatedDeficit>
	<us-gaap:RetainedEarningsAccumulatedDeficit contextRef="FI2018Q2" decimals="-3" id="Fact-B14F05069BC233FDE1CB94A11E594E4B" unitRef="usd">619212000</us-gaap:RetainedEarningsAccumulatedDeficit>
	<us-gaap:SalesRevenueNet contextRef="FD2017Q2QTD" decimals="-3" id="Fact-01CF72DDF4562970923C94A11E5FBA08" unitRef="usd">178080000</us-gaap:SalesRevenueNet>
	<us-gaap:SalesRevenueNet contextRef="FD2017Q2YTD" decimals="-3" id="Fact-8EAE2FA2E33C0A7CCE6E94A11E782D8D" unitRef="usd">317119000</us-gaap:SalesRevenueNet>
	<us-gaap:SalesRevenueNet contextRef="FD2018Q2QTD" decimals="-3" id="Fact-965530EF2A23653F30AD94A11E5B9033" unitRef="usd">211264000</us-gaap:SalesRevenueNet>
	<us-gaap:SalesRevenueNet contextRef="FD2018Q2YTD" decimals="-3" id="Fact-857E14833FD12BD57C2D94A11E322AC0" unitRef="usd">380831000</us-gaap:SalesRevenueNet>
	<us-gaap:SellingGeneralAndAdministrativeExpense contextRef="FD2017Q2QTD" decimals="-3" id="Fact-38990F0FB6810D4F946D94A11E35FA31" unitRef="usd">52518000</us-gaap:SellingGeneralAndAdministrativeExpense>
	<us-gaap:SellingGeneralAndAdministrativeExpense contextRef="FD2017Q2YTD" decimals="-3" id="Fact-C681865712BA54ED738D94A11E5C4607" unitRef="usd">99039000</us-gaap:SellingGeneralAndAdministrativeExpense>
	<us-gaap:SellingGeneralAndAdministrativeExpense contextRef="FD2018Q2QTD" decimals="-3" id="Fact-E1114E00C6622617A7B394A11E533146" unitRef="usd">66752000</us-gaap:SellingGeneralAndAdministrativeExpense>
	<us-gaap:SellingGeneralAndAdministrativeExpense contextRef="FD2018Q2YTD" decimals="-3" id="Fact-4A4D391FEB0020B7F78094A11E711845" unitRef="usd">130449000</us-gaap:SellingGeneralAndAdministrativeExpense>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 contextRef="FD2018Q2YTD_us-gaap_PlanNameAxis_cgnx_GeneralStockOptionPlanMember" id="Fact-3A18DD5AE7F7E261F9C494A11E421C2D">P4Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod contextRef="FD2018Q2YTD_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember" decimals="-3" id="Fact-77EEED39F1084DD777D594A11E70D4BE" unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue contextRef="FD2018Q2YTD_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember" decimals="2" id="Fact-FFA2A1D13161C5390B7F94A11E743EF0" unitRef="usdPerShare">0.00</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod contextRef="FD2018Q2YTD_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember" decimals="-3" id="Fact-294997078AE86BDBDAA294A11E645C86" unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue contextRef="FD2018Q2YTD_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember" decimals="2" id="Fact-8BFC5E2D3C8F88264ADE94A11E736F83" unitRef="usdPerShare">0.00</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber contextRef="FI2017Q4_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember" decimals="-3" id="Fact-AC695AD36544850A3D6594A11E6C4D35" unitRef="shares">20000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber contextRef="FI2018Q2_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember" decimals="-3" id="Fact-EE582C48C8C8D0127BC594A11E72A249" unitRef="shares">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue contextRef="FI2017Q4_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember" decimals="2" id="Fact-D4E8D6033DACC677CD0194A11E6E913E" unitRef="usdPerShare">17.03</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue contextRef="FI2018Q2_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember" decimals="2" id="Fact-D457619238D57B8250C394A11E70A8EB" unitRef="usdPerShare">0.00</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod contextRef="FD2018Q2YTD_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember" decimals="-3" id="Fact-BD64FE802A00979CC74394A11E7413F6" unitRef="shares">20000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue contextRef="FD2018Q2YTD_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember" decimals="2" id="Fact-15C578FF03AF2AA6912694A11E6E2E7C" unitRef="usdPerShare">17.03</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate contextRef="FD2017Q2QTD" decimals="4" id="Fact-C6EE1A285871FE2BFCB394A11E7A6340" unitRef="number">0.0039</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate contextRef="FD2017Q2YTD" decimals="4" id="Fact-53FBC169FCBD2EA07B2994A11E3C4241" unitRef="number">0.0039</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate contextRef="FD2018Q2QTD" decimals="4" id="Fact-9B074B01BDA51AE1B81894A11E3A01FA" unitRef="number">0.0032</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate contextRef="FD2018Q2YTD" decimals="4" id="Fact-EA8C0E01A4DF3D1B49A094A11E0F22BB" unitRef="number">0.0032</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate contextRef="FD2017Q2QTD" decimals="2" id="Fact-77D3BE6C701DD39B779994A11E0687E2" unitRef="number">0.41</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate contextRef="FD2017Q2YTD" decimals="2" id="Fact-7E842AB60FEA2A1FB43B94A11E7E98B6" unitRef="number">0.41</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate contextRef="FD2018Q2QTD" decimals="2" id="Fact-8869BE33B9E50C882A4594A11E12B9BD" unitRef="number">0.39</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate contextRef="FD2018Q2YTD" decimals="2" id="Fact-542A8121357179FA478E94A11E6BB49B" unitRef="number">0.39</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate contextRef="FD2017Q2QTD" decimals="3" id="Fact-144B4722511833766DC694A11E14A75A" unitRef="number">0.024</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate contextRef="FD2017Q2YTD" decimals="3" id="Fact-9C041C2EF87222C3C6EC94A11E7D10ED" unitRef="number">0.024</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate contextRef="FD2018Q2QTD" decimals="3" id="Fact-987BEF3909F06FC2A32F94A11E78E3A1" unitRef="number">0.029</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate contextRef="FD2018Q2YTD" decimals="3" id="Fact-E6B567C381DA1A78094D94A11E107536" unitRef="number">0.029</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant contextRef="FI2018Q2_us-gaap_AwardTypeAxis_us-gaap_EmployeeStockOptionMember" decimals="INF" id="Fact-A4ABAAFB66690B8B7B9494A11E468A92" unitRef="shares">20388502</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber contextRef="FI2018Q2" decimals="-3" id="Fact-1ABC44E32531F203301E94A11E118B1D" unitRef="shares">4781000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice contextRef="FI2018Q2" decimals="2" id="Fact-7C98B17709FD60EB971C94A11E6343C6" unitRef="usdPerShare">19.98</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod contextRef="FD2018Q2YTD" decimals="-3" id="Fact-D33FA863EFE134F68C4E94A11E040AB0" unitRef="shares">373000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice contextRef="FD2018Q2YTD" decimals="2" id="Fact-5FF3758829FA4CBC853B94A11E62A3FB" unitRef="usdPerShare">32.68</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod contextRef="FD2018Q2YTD" decimals="-3" id="Fact-987DC274F2BAA6825E3494A11E0FBBB6" unitRef="shares">2119000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue contextRef="FD2017Q2QTD" decimals="2" id="Fact-C2218066D24EA7A450DC94A11E448A1D" unitRef="usdPerShare">15.51</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue contextRef="FD2017Q2YTD" decimals="2" id="Fact-9A3332F2DF3464DF8C5894A11E4618A3" unitRef="usdPerShare">14.98</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue contextRef="FD2018Q2QTD" decimals="2" id="Fact-EC36BD12F1E42F93FEF394A11E59363B" unitRef="usdPerShare">21.63</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue contextRef="FD2018Q2YTD" decimals="2" id="Fact-9CC04626E8E220F51F1D94A11E56AC31" unitRef="usdPerShare">21.62</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue contextRef="FI2018Q2" decimals="-3" id="Fact-C8965922D5F64B4B78C994A11E651289" unitRef="usd">223515000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber contextRef="FI2017Q4" decimals="-3" id="Fact-11610C471C0838AFEE7F94A11E0F0B67" unitRef="shares">12726000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber contextRef="FI2018Q2" decimals="-3" id="Fact-47109FE1E96D2E3B613394A11E65D45A" unitRef="shares">13591000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice contextRef="FI2017Q4" decimals="2" id="Fact-0831DA2164EB5A53849894A11E06C843" unitRef="usdPerShare">25.24</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice contextRef="FI2018Q2" decimals="2" id="Fact-DE25D217850565EA131994A11E6BE542" unitRef="usdPerShare">30.39</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber contextRef="FI2018Q2" decimals="-3" id="Fact-324E9E87590F2F3561EC94A11E114696" unitRef="shares">12177000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue contextRef="FI2018Q2" decimals="-3" id="Fact-5CFD4893A98133D8F9B794A11E129F47" unitRef="usd">210965000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice contextRef="FI2018Q2" decimals="2" id="Fact-532435C1C4C1D2526A8F94A11E041EF2" unitRef="usdPerShare">29.20</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice>
	<us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod contextRef="FD2018Q2YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" decimals="-3" id="Fact-8687AABF95A316D0D81394A11E164BEF" unitRef="shares">881000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod>
	<us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice contextRef="FD2018Q2YTD" decimals="2" id="Fact-2F8843A43CDE88D457D494A11E63DD0E" unitRef="usdPerShare">16.82</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
	<us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice contextRef="FD2018Q2YTD" decimals="2" id="Fact-E3B54855B537FCA7F3F194A11E6B4661" unitRef="usdPerShare">56.03</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
	<us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested contextRef="FI2018Q2_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember" decimals="-3" id="Fact-E52CB9C28BCF423EDEC394A11E717808" unitRef="usd">0</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested>
	<us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested contextRef="FD2018Q2YTD_us-gaap_AwardTypeAxis_us-gaap_RestrictedStockMember" decimals="-3" id="Fact-9BFA498E7C34E2F0953894A11E73C900" unitRef="usd">993000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested>
	<us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="FD2017Q2QTD" id="Fact-0B3DD1C692462FCAA8A194A11E1011B4">P5Y2M12D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
	<us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="FD2017Q2YTD" id="Fact-F6BEC2842DD7DC8A742E94A11E136581">P5Y3M18D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
	<us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="FD2018Q2QTD" id="Fact-C7EAD9B096F02A5ADAC394A11E7EFC10">P5Y4M24D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
	<us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 contextRef="FD2018Q2YTD" id="Fact-0EFE84E95162DF9FD00294A11E33EE54">P5Y3M18D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
	<us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1 contextRef="FD2018Q2YTD" id="Fact-C9AC733811CAAC82DD7394A11E6C990B">P6Y2M1D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
	<us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2 contextRef="FD2018Q2YTD" id="Fact-C8E0EF1440D425F55BFC94A11E6ED508">P7Y7M13D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2>
	<us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1 contextRef="FD2018Q2YTD" id="Fact-AF5E4604005F33D3CC3594A11E1103FA">P7Y5M27D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1>
	<us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss contextRef="FD2018Q2YTD" decimals="-3" id="Fact-50E99DDA91526DCB4D3594A11E2D5E23" unitRef="usd">-117000</us-gaap:StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss>
	<us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised contextRef="FD2018Q2YTD" decimals="-3" id="Fact-87B4E0C06D6372F72FC894A11E157867" unitRef="shares">881000</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
	<us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="FD2018Q2YTD" decimals="-3" id="Fact-4E56D716C8E9054024DF94A11E134BB6" unitRef="usd">14811000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
	<us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="FD2018Q2YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember" decimals="-3" id="Fact-AA4071A2BB85AA98C0F294A11E72A42B" unitRef="usd">14809000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
	<us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised contextRef="FD2018Q2YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" decimals="-3" id="Fact-D9AC5EDD1690673F167994A11E0E4B2E" unitRef="usd">2000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercised>
	<us-gaap:StockOptionPlanExpense contextRef="FD2017Q2YTD" decimals="-3" id="Fact-9FA0430FB623D915B31D94A11DF7783E" unitRef="usd">15329000</us-gaap:StockOptionPlanExpense>
	<us-gaap:StockOptionPlanExpense contextRef="FD2018Q2YTD" decimals="-3" id="Fact-A6AA75CBA0B07CFE685E94A11DF952CE" unitRef="usd">22196000</us-gaap:StockOptionPlanExpense>
	<us-gaap:StockRepurchaseProgramAuthorizedAmount1 contextRef="I2015Q4SD_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramApril2017Member" decimals="INF" id="Fact-14C390E5BD251FFE729994A11E807A65" unitRef="usd">100000000</us-gaap:StockRepurchaseProgramAuthorizedAmount1>
	<us-gaap:StockRepurchaseProgramAuthorizedAmount1 contextRef="I2018Q1Feb28_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramFebruary2018Member" decimals="INF" id="Fact-B1EC18FB55244800A00C94A11DF52A33" unitRef="usd">150000000</us-gaap:StockRepurchaseProgramAuthorizedAmount1>
	<us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1 contextRef="FI2018Q2_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramFebruary2018Member" decimals="-3" id="Fact-C09CD298DBD0E77B7C78AD99491B4DFF" unitRef="usd">73892000</us-gaap:StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1>
	<us-gaap:StockRepurchasedDuringPeriodShares contextRef="FD2018Q2YTD_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramApril2017Member" decimals="-3" id="Fact-41123B41EDACE8FD326794A11DF5BC99" unitRef="shares">803000</us-gaap:StockRepurchasedDuringPeriodShares>
	<us-gaap:StockRepurchasedDuringPeriodShares contextRef="FD2018Q2YTD_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramFebruary2018Member" decimals="-3" id="Fact-147A7CDF8709208F73E194A11DF46591" unitRef="shares">1553000</us-gaap:StockRepurchasedDuringPeriodShares>
	<us-gaap:StockRepurchasedDuringPeriodShares contextRef="FD2018Q2YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" decimals="-3" id="Fact-9DF868EB6AE4CEC899E594A11E520435" unitRef="shares">2356000</us-gaap:StockRepurchasedDuringPeriodShares>
	<us-gaap:StockRepurchasedDuringPeriodValue contextRef="FD2018Q2YTD" decimals="-3" id="Fact-46125A73A85B4A65D05794A11E037C7F" unitRef="usd">121308000</us-gaap:StockRepurchasedDuringPeriodValue>
	<us-gaap:StockRepurchasedDuringPeriodValue contextRef="FD2018Q2YTD_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramApril2017Member" decimals="-3" id="Fact-C8E716194CC6C907CA9A94A11E80D8F8" unitRef="usd">45200000</us-gaap:StockRepurchasedDuringPeriodValue>
	<us-gaap:StockRepurchasedDuringPeriodValue contextRef="FD2018Q2YTD_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramApril2017andFebruary2018Member" decimals="-3" id="Fact-368E27FEB4851E35183DAD9736030820" unitRef="usd">121308000</us-gaap:StockRepurchasedDuringPeriodValue>
	<us-gaap:StockRepurchasedDuringPeriodValue contextRef="FD2018Q2YTD_us-gaap_ShareRepurchaseProgramAxis_cgnx_RepurchaseProgramFebruary2018Member" decimals="-3" id="Fact-C37FB83112A7A89A686894A11DF44D0B" unitRef="usd">76108000</us-gaap:StockRepurchasedDuringPeriodValue>
	<us-gaap:StockRepurchasedDuringPeriodValue contextRef="FD2018Q2YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" decimals="-3" id="Fact-E40E6927D061CEF106E594A11DFD00CC" unitRef="usd">5000</us-gaap:StockRepurchasedDuringPeriodValue>
	<us-gaap:StockRepurchasedDuringPeriodValue contextRef="FD2018Q2YTD_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember" decimals="-3" id="Fact-F8BEA2261E25015E51D694A11DF960CF" unitRef="usd">121303000</us-gaap:StockRepurchasedDuringPeriodValue>
	<us-gaap:StockholdersEquity contextRef="FI2017Q4" decimals="-3" id="Fact-F54CEA909CBBA9DDF39E94A11E171955" unitRef="usd">1095673000</us-gaap:StockholdersEquity>
	<us-gaap:StockholdersEquity contextRef="FI2017Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember" decimals="-3" id="Fact-163C362F43A7D1AB85B994A11E0286A9" unitRef="usd">-34599000</us-gaap:StockholdersEquity>
	<us-gaap:StockholdersEquity contextRef="FI2017Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember" decimals="-3" id="Fact-F90B12510726A6B039EB94A11E149E5A" unitRef="usd">461338000</us-gaap:StockholdersEquity>
	<us-gaap:StockholdersEquity contextRef="FI2017Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" decimals="-3" id="Fact-3EE99BB64FDD4541928394A11E137B09" unitRef="usd">347000</us-gaap:StockholdersEquity>
	<us-gaap:StockholdersEquity contextRef="FI2017Q4_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember" decimals="-3" id="Fact-F876EFB34473F53F621D94A11DFA4100" unitRef="usd">668587000</us-gaap:StockholdersEquity>
	<us-gaap:StockholdersEquity contextRef="FI2018Q2" decimals="-3" id="Fact-B1BF93D689C08E99DABB94A11E6CC63C" unitRef="usd">1079132000</us-gaap:StockholdersEquity>
	<us-gaap:StockholdersEquity contextRef="FI2018Q2_us-gaap_StatementEquityComponentsAxis_us-gaap_AccumulatedOtherComprehensiveIncomeMember" decimals="-3" id="Fact-99B445EF5C881E30DF1394A11DFF1137" unitRef="usd">-38767000</us-gaap:StockholdersEquity>
	<us-gaap:StockholdersEquity contextRef="FI2018Q2_us-gaap_StatementEquityComponentsAxis_us-gaap_AdditionalPaidInCapitalMember" decimals="-3" id="Fact-6EFB776CBF52CE0ABE1794A11E449AB5" unitRef="usd">498343000</us-gaap:StockholdersEquity>
	<us-gaap:StockholdersEquity contextRef="FI2018Q2_us-gaap_StatementEquityComponentsAxis_us-gaap_CommonStockMember" decimals="-3" id="Fact-6618853A232C42EC95B194A11E6DBB57" unitRef="usd">344000</us-gaap:StockholdersEquity>
	<us-gaap:StockholdersEquity contextRef="FI2018Q2_us-gaap_StatementEquityComponentsAxis_us-gaap_RetainedEarningsMember" decimals="-3" id="Fact-2AE81408E3207427F54B94A11E63EF1B" unitRef="usd">619212000</us-gaap:StockholdersEquity>
	<us-gaap:UnbilledReceivablesCurrent contextRef="FI2017Q4" decimals="-3" id="Fact-5B8F8FD777AA125AA0EB94A11DF5029E" unitRef="usd">7454000</us-gaap:UnbilledReceivablesCurrent>
	<us-gaap:UnbilledReceivablesCurrent contextRef="FI2018Q2" decimals="-3" id="Fact-878D05261D116AE9DA7894A11DF74914" unitRef="usd">3603000</us-gaap:UnbilledReceivablesCurrent>
	<us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued contextRef="FI2018Q2" decimals="-3" id="Fact-9785903DFB961DA28F4994A11E3389A8" unitRef="usd">924000</us-gaap:UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued>
	<us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment contextRef="FD2017Q2QTD" decimals="-3" id="Fact-F60D59E6B030DBD3230A94A11E3A8926" unitRef="shares">5950000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
	<us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment contextRef="FD2017Q2YTD" decimals="-3" id="Fact-6FD777871333C886883D94A11E3AF0AC" unitRef="shares">5944000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
	<us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment contextRef="FD2018Q2QTD" decimals="-3" id="Fact-84A94234B3A719B8BC2694A11E6080CC" unitRef="shares">4779000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
	<us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment contextRef="FD2018Q2YTD" decimals="-3" id="Fact-3E8E815F7E58153E19BF94A11E60CA72" unitRef="shares">5593000</us-gaap:WeightedAverageNumberDilutedSharesOutstandingAdjustment>
	<us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="FD2017Q2QTD" decimals="-3" id="Fact-907D956DA26025AEE0E894A11E1B07AD" unitRef="shares">179228000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
	<us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="FD2017Q2YTD" decimals="-3" id="Fact-D0423225B4BC8C73907694A11E71659F" unitRef="shares">178904000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
	<us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="FD2018Q2QTD" decimals="-3" id="Fact-A47629C93DFB272216B794A11E5B39C4" unitRef="shares">177149000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
	<us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding contextRef="FD2018Q2YTD" decimals="-3" id="Fact-06BCFC4239D7F3B1722094A11E384AF1" unitRef="shares">178418000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
	<us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="FD2017Q2QTD" decimals="-3" id="Fact-573572F682B07501868894A11E261E4D" unitRef="shares">173278000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
	<us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="FD2017Q2YTD" decimals="-3" id="Fact-597BAA1604420A265DD494A11E20944B" unitRef="shares">172960000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
	<us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="FD2018Q2QTD" decimals="-3" id="Fact-E28476ABFE520740B7C294A11E62C514" unitRef="shares">172370000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
	<us-gaap:WeightedAverageNumberOfSharesOutstandingBasic contextRef="FD2018Q2YTD" decimals="-3" id="Fact-254998336DCBF4388C7894A11E3E34F0" unitRef="shares">172825000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
	<cgnx:ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock contextRef="FD2018Q2YTD" id="Fact-C7B1480729622D3BBCD794A11E60803F">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Cash, cash equivalents, and investments consisted of the following (in thousands):&lt;/font&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" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:63%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:16%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:16%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&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;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;July 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;"&gt;December 31, 2017&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Cash&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;124,147&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;97,951&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Money market instruments&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;5,055&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;8,631&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Cash and cash equivalents&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;129,202&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;106,582&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;136,377&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;150,371&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;116,347&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;47,395&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;55,240&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;59,203&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Agency bonds&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;29,247&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;10,608&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;9,154&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;8,805&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;7,375&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;21,579&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Short-term investments&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;353,740&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;297,961&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;208,454&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;296,014&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;47,740&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;71,727&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;8,971&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;13,147&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Agency bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;5,934&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;14,890&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;842&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,204&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;23,459&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Long-term investments&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;271,941&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;423,441&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;754,883&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;827,984&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</cgnx:ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock>
	<cgnx:OutstandingForwardContractsTableTextBlock contextRef="FD2018Q2YTD" id="Fact-D4E0452C3316ACDF21CC94A11E06AF8C">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company had the following outstanding forward contracts (in thousands):&lt;/font&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" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:47%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:12%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:10%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&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;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;July 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;December 31, 2017&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Currency&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Notional&lt;br clear="none"/&gt;Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;USD&lt;br clear="none"/&gt;Equivalent&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Notional&lt;br clear="none"/&gt;Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;USD&lt;br clear="none"/&gt;Equivalent&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Derivatives Not Designated as Hedging Instruments:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Euro&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;17,000&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;19,897&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Japanese Yen&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;790,000&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;8,423&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;455,000&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,049&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Swiss Franc&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2,425&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2,879&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,365&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,401&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Hungarian Forint&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;655,000&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2,756&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;545,000&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,110&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;British Pound&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2,430&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2,142&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,650&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,232&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Korean Won&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;1,875,000&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;1,968&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,825,000&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,708&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Taiwanese Dollar&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;47,600&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;1,837&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;37,725&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,278&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Canadian Dollar&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;855&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;753&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Singapore Dollar&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;700&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;602&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</cgnx:OutstandingForwardContractsTableTextBlock>
	<us-gaap:CompensationRelatedCostsGeneralTextBlock contextRef="FD2018Q2YTD" id="Fact-6B70E9314C762540A42D94A11E5A957A">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Stock-Based Compensation Expense&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company&amp;#8217;s share-based payments that result in compensation expense consist of stock option grants and restricted stock awards.  As of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, the Company had &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;20,388,502&lt;/font&gt;&lt;font 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&amp;#8217;s common stock at the grant date and generally vest over &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;four&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; or five years based upon continuous service and expire &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;ten&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; years from the grant date.  Restricted stock awards are granted with an exercise price equal to the market value of the Company's common stock at the time of grant.  Conditions of the award may be based on continuing employment and/or achievement of pre-established performance goals and objectives.  Vesting for performance-based restricted stock awards and time-based restricted stock awards must not be less than &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;one&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; year and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;three&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; years, respectively; however, awards with time-based vesting may become vested incrementally over such three-year period.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes the Company&amp;#8217;s stock option activity for the &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;six&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;-month period ended &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;:&lt;/font&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" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:39%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:14%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:15%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&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;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Shares&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(in&amp;#160;thousands)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Weighted-&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Average&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Exercise&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Price&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Weighted-&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Average&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Remaining&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Contractual&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Term&amp;#160;(in&amp;#160;years)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Aggregate&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Intrinsic&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Value&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(in&amp;#160;thousands)&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Outstanding as of December 31, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;12,726&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;25.24&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Granted&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,119&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;56.03&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Exercised&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(881&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;16.82&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Forfeited or expired&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(373&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;32.68&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Outstanding as of July 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:2px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;13,591&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:2px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:2px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:2px solid #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;30.39&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:2px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:2px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;7.62&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:2px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:2px solid #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;223,515&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:2px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Exercisable as of July 1, 2018&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;4,781&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;19.98&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;6.17&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;117,767&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Options vested or expected to vest as of July 1, 2018 (1)&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;12,177&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;29.20&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;7.49&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;210,965&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#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;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font 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;/font&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" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:40%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:14%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Three-months&amp;#160;Ended&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Six-months Ended&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;July 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July 2, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;July 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July 2, 2017&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Risk-free rate&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2.9&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2.4&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2.9&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2.4&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;%&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Expected dividend yield&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;0.32&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;0.39&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;0.32&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;0.39&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;%&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Expected volatility&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;39&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;41&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;39&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;41&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;%&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Expected term (in years)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;5.4&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5.2&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;5.3&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5.3&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Risk-free rate&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font 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;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Expected dividend yield&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Generally, the current dividend yield is calculated by annualizing the cash dividend declared by the Company&amp;#8217;s Board of Directors and dividing that result by the closing stock price on the grant date.&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Expected volatility&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The expected volatility was based upon a combination of historical volatility of&amp;#160;the Company&amp;#8217;s common stock over the contractual term of the option and implied volatility for traded options of the Company&amp;#8217;s stock.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Expected term&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font 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;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company stratifies its employee population into &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;two&lt;/font&gt;&lt;font 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;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;8%&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; to all unvested options for senior management and a rate of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;12%&lt;/font&gt;&lt;font 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 an increase to compensation expense of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$1,283,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in 2018 and a decrease to compensation expense of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$673,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in 2017.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font 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;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;2, 2017&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; were &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$21.63&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$15.51&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, respectively.  The weighted-average grant-date fair values of stock options granted during the six-month periods ended &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;2, 2017&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; were &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$21.62&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$14.98&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, respectively. &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The total intrinsic values of stock options exercised for the three-month periods ended &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;2, 2017&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; were &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$4,902,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$19,408,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, respectively.  The total intrinsic values of stock options exercised for the six-month periods ended &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;2, 2017&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; were &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$32,991,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$72,451,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, respectively.  The total fair values of stock options vested for the three-month periods ended &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;2, 2017&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; were &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$887,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$725,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, respectively.  The total fair values of stock options vested for the six-month periods ended &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;2, 2017&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; were &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$26,560,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$18,713,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, respectively.   &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;As of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, total unrecognized compensation expense related to non-vested stock options was &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$56,124,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, which is expected to be recognized over a weighted-average period of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1.80&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; years.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes the Company's restricted stock activity for the six-month period ended &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;: &lt;/font&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="11" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:48%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:15%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:14%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:16%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&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;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Shares                   (in thousands)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Weighted-Average     Grant Fair Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Aggregate Intrinsic Value                  (in thousands)&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Nonvested as of December 31, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;20&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;17.03&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Granted&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Vested&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(20&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;17.03&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;993&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Forfeited or expired&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Nonvested as of July 1, 2018&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The fair values of restricted stock awards 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.  These restricted shares became fully vested in 2018.  Participants were entitled to dividends on restricted stock awards, but only receive those amounts if the shares vest.  The sale or transfer of these shares was restricted during the vesting period.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font 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;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; were &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$9,002,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$1,607,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, respectively, and for the three-month period ended &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;2, 2017&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; were &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$7,846,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$2,583,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, respectively.  The total stock-based compensation expense and the related income tax benefit recognized for the six-month period ended &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; were &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$22,196,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$3,954,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, respectively, and for the six-month period ended &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;2, 2017&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; were &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$15,329,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$5,022,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, respectively.  &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;No&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; compensation expense was capitalized as of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; or &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;December&amp;#160;31, 2017&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font 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;/font&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" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:38%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:12%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Three-months Ended&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Six-months Ended&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;July 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July 2, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;July 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July 2, 2017&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Cost of revenue&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;557&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;454&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;1,354&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;884&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Research, development, and engineering&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;3,154&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,715&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;7,969&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,325&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Selling, general, and administrative&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;5,291&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,677&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;12,873&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;9,120&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;9,002&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;7,846&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;22,196&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;15,329&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:CompensationRelatedCostsGeneralTextBlock>
	<us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock contextRef="FD2018Q2YTD" id="Fact-1C5517BE56EAAEA33D3C94A11E0E41CF">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Derivative Instruments&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company&amp;#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 &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;two&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; types of hedges to manage this risk.  The first are economic hedges which utilize foreign currency forward contracts with maturities of up to &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;45&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; days to manage the exposure to fluctuations in foreign currency exchange rates arising primarily from foreign-denominated receivables and payables.  The gains and losses on these derivatives are intended to be offset by the changes in the fair value of the assets and liabilities being hedged.  These economic hedges are not designated as hedging instruments for hedge accounting treatment.  The second are cash flow hedges which utilize foreign currency forward contracts with maturities of up to &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;18 months&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; to hedge specific forecasted transactions of the Company's foreign subsidiaries with the goal of protecting the Company's budgeted revenues and expenses against foreign currency exchange rate changes compared to its budgeted rates.  These cash flow hedges are designated as hedging instruments for hedge accounting treatment. &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company had the following outstanding forward contracts (in thousands):&lt;/font&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" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:47%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:12%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:10%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&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;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;July 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;December 31, 2017&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Currency&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Notional&lt;br clear="none"/&gt;Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;USD&lt;br clear="none"/&gt;Equivalent&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Notional&lt;br clear="none"/&gt;Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;USD&lt;br clear="none"/&gt;Equivalent&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Derivatives Not Designated as Hedging Instruments:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Euro&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;17,000&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;19,897&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Japanese Yen&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;790,000&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;8,423&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;455,000&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,049&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Swiss Franc&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2,425&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2,879&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,365&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,401&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Hungarian Forint&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;655,000&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2,756&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;545,000&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,110&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;British Pound&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2,430&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2,142&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,650&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,232&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Korean Won&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;1,875,000&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;1,968&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,825,000&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,708&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Taiwanese Dollar&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;47,600&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;1,837&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;37,725&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,278&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Canadian Dollar&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;855&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;753&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Singapore Dollar&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;700&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;602&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Information regarding the fair value of the outstanding forward contracts was as follows (in thousands):&lt;/font&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" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:16%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:17%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:10%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:12%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:10%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Asset Derivatives&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Liability Derivatives&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Balance&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Fair Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Balance&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Fair Value&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Sheet&lt;br clear="none"/&gt;Location&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;July 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;December 31, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Sheet&lt;br clear="none"/&gt;Location&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;July 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;December 31, 2017&lt;/font&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;" rowspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Derivatives Not Designated as Hedging Instruments:&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Economic hedge forward contracts&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Prepaid&amp;#160;expenses&amp;#160;and other current assets&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;88&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;16&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Accrued expenses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;86&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;13&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;font 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;/font&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="19" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:21%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:10%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:12%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:22%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:10%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:12%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Asset Derivatives&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Liability Derivatives&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;July&amp;#160;1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;December&amp;#160;31, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;July&amp;#160;1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;December&amp;#160;31, 2017&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gross amounts of recognized assets&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;88&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;16&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gross amounts of recognized liabilities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;86&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;13&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gross amounts offset&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gross amounts offset&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Net amount of assets presented&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;88&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;16&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Net amount of liabilities presented&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;86&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;13&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;font 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;/font&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" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:25%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:27%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Location in Financial Statements&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Three-months Ended&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Six-months Ended&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;July 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July 2, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;July 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July 2, 2017&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Derivatives Designated as Hedging Instruments:&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gains (losses) recorded in shareholders' equity (effective portion)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Accumulated other comprehensive income (loss), net of tax&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;60&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;60&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gains (losses) reclassified from accumulated other comprehensive income (loss) into current operations (effective portion)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Revenue&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;9&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(46&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Research, development, and engineering expenses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Selling, general, and administrative expenses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;8&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Total gains (losses) reclassified from accumulated other comprehensive income (loss) into current operations&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;9&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(35&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gains (losses) recognized in current operations (ineffective portion and discontinued derivatives)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Foreign currency gain (loss)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="11" style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Derivatives Not Designated as Hedging Instruments:&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gains (losses) recognized in current operations&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Foreign currency gain (loss)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(354&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;177&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(665&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;96&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock>
	<us-gaap:EarningsPerShareTextBlock contextRef="FD2018Q2YTD" id="Fact-A7D625653C55E4D8DE2594A11E7FFC52">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Weighted-Average Shares&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Weighted-average shares were calculated as follows (in thousands):&lt;/font&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" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:53%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:10%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:10%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:10%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:10%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Three-months Ended&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Six-months Ended&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;July 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July 2, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;July 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July 2, 2017&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Basic weighted-average common shares outstanding&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;172,370&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;173,278&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;172,825&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;172,960&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Effect of dilutive stock options&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;4,779&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,950&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;5,593&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,944&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Weighted-average common and common-equivalent shares outstanding&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;177,149&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;179,228&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;178,418&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;178,904&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Stock options to purchase &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,959,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,032,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; shares of common stock, on a weighted-average basis, were outstanding during the three-month and six-month periods ended July 1, 2018, respectively, and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,792,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,715,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; for the same periods in 2017, but were not included in the calculation of dilutive net income per share because they were anti-dilutive.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:EarningsPerShareTextBlock>
	<us-gaap:FairValueDisclosuresTextBlock contextRef="FD2018Q2YTD" id="Fact-C046EFBE4BF1BB474B1294A11E76C527">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Fair Value Measurements&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font 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;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font 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;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; (in thousands):&lt;/font&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" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:50%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:14%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:14%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:14%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&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;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Quoted&amp;#160;Prices&amp;#160;in&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Active Markets&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;for Identical&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Assets (Level 1)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Significant&amp;#160;    Other&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Observable&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Inputs (Level 2)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;&lt;br clear="none"/&gt;Unobservable&lt;br clear="none"/&gt;Inputs                                                                                                                                                                             (Level 3)&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Assets:&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Money market instruments&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,055&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;324,801&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;136,377&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;102,980&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Agency bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;35,181&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;16,346&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;9,996&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Economic hedge forward contracts&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;88&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Liabilities:&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Economic hedge forward contracts&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(86&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Contingent consideration liabilities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,303&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company&amp;#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. &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company&amp;#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.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company did not record an other-than-temporary impairment of these financial assets during the &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;six&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;-month period ended &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font 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;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font 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 six-month period ended &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; (in thousands):&lt;/font&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" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:85%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of December 31, 2017&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,557&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Fair value adjustment to Manatee contingent consideration&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(1,350&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Fair value adjustment to GVi contingent consideration&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;988&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Fair value adjustment to Chiaro contingent consideration&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;108&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Payment of GVi contingent consideration&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(1,000&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of July 1, 2018&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2,303&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font 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;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font 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 &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;six&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;-month periods ended &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and July 2, 2017.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:FairValueDisclosuresTextBlock>
	<us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock contextRef="FD2018Q2YTD" id="Fact-668ECD0DAD7944243F6494A11E7AE875">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font 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 six-month period ended &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; (in thousands):&lt;/font&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" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:85%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of December 31, 2017&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,557&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Fair value adjustment to Manatee contingent consideration&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(1,350&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Fair value adjustment to GVi contingent consideration&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;988&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Fair value adjustment to Chiaro contingent consideration&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;108&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Payment of GVi contingent consideration&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(1,000&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of July 1, 2018&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2,303&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock>
	<us-gaap:IncomeTaxDisclosureTextBlock contextRef="FD2018Q2YTD" id="Fact-AA3AE7DA20D62BD2AB0C94A11E36FF45">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Taxes&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;A reconciliation of the United States federal statutory corporate tax rate to the Company&amp;#8217;s income tax expense, or effective tax rate, was as follows:&lt;/font&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" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:53%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:10%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:10%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:10%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:10%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Three-months&amp;#160;Ended&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Six-months Ended&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;July 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July 2, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;July 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July 2, 2017&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Income tax provision at federal statutory corporate tax rate&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;21&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#160;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;35&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;21&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#160;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;35&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;%&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;State income taxes, net of federal benefit&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#160;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#160;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;%&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Foreign tax rate differential&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(7&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(18&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(7&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(18&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)%&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Tax credit&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)%&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Discrete tax benefit related to stock option exercises&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(1&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(9&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(5&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(19&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)%&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Other&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#160;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#160;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;%&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Income tax provision&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;16&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#160;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;9&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;11&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#160;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(1&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;On December 22, 2017, the United States Congress passed and the President signed into law the Tax Act.  The Tax Act included a decrease in the U.S. federal statutory corporate tax rate from &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;35%&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; to &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;21%&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, a one-time transition tax on unrepatriated foreign earnings, and limits on certain deductions.  The Company made what it considers to be a reasonable estimate of the impact of the Tax Act in its financial statements for the year ended December 31, 2017.  The Company has not recorded any changes to this estimate for the three-month and six-month periods ended July 1, 2018.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Securities and Exchange Commission (SEC) released Staff Accounting Bulletin (SAB) No. 118 to provide guidance to companies on how to implement the accounting and disclosure changes as a result of the Tax Act.  The SEC staff guidance has recognized that, due to the complexity and timing of the release of the Tax Act, the accounting for this change in the law may be incomplete upon issuance of a company's financial statements.  This significant estimate is highly judgmental and changes to this estimate could result in material charges or credits in future reporting periods.  U.S. Treasury regulations and administrative guidance have not been finalized as of the date of these financial statements.  The issuance of final regulations may require the Company to revise its estimates of earnings and profits, as well as certain deferred taxes as required.  The Tax Act subjects the Company to current tax on Global Intangible Low-Taxed Income (GILTI) earned by certain foreign subsidiaries.&amp;#160; The Company can make an accounting policy election to either recognize deferred taxes for temporary differences expected to reverse as GILTI in future years or provide for the tax expense related to GILTI resulting from those items in the year the tax is incurred.  As of the date of this report, the Company is still evaluating the guidance and has not made a policy election related to the treatment of the GILTI tax.  The Company will continue to gather and analyze information on historical unrepatriated foreign earnings and to monitor state laws relating to this income to finalize both the federal and state tax impact.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The majority of income earned outside of the United States is permanently reinvested to provide funds for international expansion.  The Company is tax resident in numerous jurisdictions around the world and has identified its major jurisdictions as the United States, Ireland, and China.  The statutory tax rate is &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;12.5%&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in Ireland and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;25%&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in China, compared to the U.S. federal statutory corporate tax rate of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;21%&lt;/font&gt;&lt;font 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;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;7&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; percentage points&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt; &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;for the three-month and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;six&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;-month periods ended &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, and a decrease in the effective tax rate by &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;18&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; percentage points for the three-month and six-month periods ended &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;2, 2017&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;.  &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font 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 of the effective tax rate by &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;9&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; percentage points for the three-month periods ended &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;2, 2017&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, respectively, and a decrease of the effective tax rate by &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;19&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; percentage points for the &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;six&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;-month periods ended &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;2, 2017&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, respectively. &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;On January 1, 2018, the Company adopted Accounting Standard Update (ASU) 2016-16, "Income Taxes - Intra-Entity Transfers of Assets Other than Inventory."  This Update requires the recognition of deferred income taxes for an intra-entity transfer of an asset other than inventory.  As a result of this ASU, the Company recorded &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$5,961,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; through a cumulative-effect adjustment directly to retained earnings at the beginning of fiscal year 2018.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;During the &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;six&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;-month period ended &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, the Company recorded a &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$879,000&lt;/font&gt;&lt;font 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;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$136,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; for the &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;six&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;-month period ended &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company&amp;#8217;s reserve for income taxes, including gross interest and penalties, was &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$8,427,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; as of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, which included &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$7,399,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; classified as a non-current liability and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$1,028,000&lt;/font&gt;&lt;font 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;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$924,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;.  If the Company&amp;#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 &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$1,100,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; to &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$1,200,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; over the next twelve months.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font 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;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2014 through 2017&lt;/font&gt;&lt;font 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;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2013 through 2017&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; remain open to examination by various taxing authorities in other jurisdictions in which the Company operates.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
	<us-gaap:IntangibleAssetsDisclosureTextBlock contextRef="FD2018Q2YTD" id="Fact-E03EBBA96FF8BE04BF5C94A11E4368A6">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:12px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Intangible Assets&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Amortized intangible assets consisted of the following (in thousands):&lt;/font&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" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:53%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&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;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Gross&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Carrying&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Accumulated&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Amortization&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Net&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Carrying&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Value&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Distribution networks&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;38,060&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;38,060&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Completed technologies&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;13,687&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;5,400&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;8,287&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Customer relationships&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;8,607&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;5,459&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;3,148&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Non-compete agreements&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;370&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;154&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;216&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of July 1, 2018&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;60,724&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;49,073&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;11,651&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:inherit;font-size:8pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Gross&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Carrying&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Accumulated&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Amortization&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Net&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Carrying&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Value&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Distribution networks&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;38,060&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;38,060&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Completed technologies&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;13,687&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,181&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;9,506&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Customer relationships&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;8,607&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,202&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,405&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Non-compete agreements&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;370&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;92&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;278&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of December 31, 2017&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;60,724&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;47,535&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;13,189&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;As of July 1, 2018, estimated future amortization expense related to intangible assets is as follows (in thousands):&lt;/font&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" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:82%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:15%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;text-decoration:underline;"&gt;Year Ended December&amp;#160;31,&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Amount&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Remainder of fiscal 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,538&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2019&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,701&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2020&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,185&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2021&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2022&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,691&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2023&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;989&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Thereafter&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;530&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;11,651&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:IntangibleAssetsDisclosureTextBlock>
	<us-gaap:InventoryDisclosureTextBlock contextRef="FD2018Q2YTD" id="Fact-3ADB26988A8FF176438B94A11E636B82">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Inventories&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Inventories consisted of the following (in thousands):&lt;/font&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" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:63%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:16%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:16%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&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;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;July 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;"&gt;December 31, 2017&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Raw materials&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;46,020&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;33,927&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Work-in-process&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,114&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Finished goods&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;43,536&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;31,882&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;89,556&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;67,923&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:InventoryDisclosureTextBlock>
	<us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock contextRef="FD2018Q2YTD" id="Fact-EB51BE62CB151898A08294A11E605C68">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table presents the effective maturity dates of the Company&amp;#8217;s available-for-sale investments as of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; (in thousands):&lt;/font&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.22027290448344%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="28" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:24%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:8%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:8%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:8%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:8%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:8%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:8%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:8%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&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;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;&amp;lt;1 year&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;1-2 Years&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;2-3 Years&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;3-4 Years&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;4-5 Years&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;5-7 Years&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Total&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;116,347&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;96,004&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;71,890&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;29,491&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;7,704&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,365&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;324,801&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;136,377&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;136,377&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;55,240&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;31,023&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,178&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,320&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,809&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,410&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;102,980&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Agency bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;29,247&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,934&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;35,181&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;7,375&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,963&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,008&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;16,346&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;9,154&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;842&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;9,996&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;353,740&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;132,990&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;77,918&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;33,811&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;19,447&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;7,775&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;625,681&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:InvestmentsClassifiedByContractualMaturityDateTableTextBlock>
	<us-gaap:InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock contextRef="FD2018Q2YTD" id="Fact-877E9A25830AE6F845FF94A11E626C23">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Cash, Cash Equivalents, and Investments&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Cash, cash equivalents, and investments consisted of the following (in thousands):&lt;/font&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" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:63%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:16%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:16%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&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;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;July 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;"&gt;December 31, 2017&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Cash&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;124,147&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;97,951&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Money market instruments&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;5,055&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;8,631&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Cash and cash equivalents&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;129,202&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;106,582&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;136,377&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;150,371&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;116,347&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;47,395&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;55,240&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;59,203&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Agency bonds&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;29,247&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;10,608&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;9,154&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;8,805&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;7,375&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;21,579&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Short-term investments&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;353,740&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;297,961&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;208,454&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;296,014&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;47,740&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;71,727&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;8,971&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;13,147&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Agency bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;5,934&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;14,890&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;842&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,204&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;23,459&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Long-term investments&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;271,941&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;423,441&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;754,883&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;827,984&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Treasury bills consist of debt securities issued by the U.S. government; corporate bonds consist of debt securities issued by both domestic and foreign companies; asset-backed securities consist of debt securities collateralized by pools of receivables or loans with credit enhancement; agency bonds consist of domestic or foreign obligations of government agencies and government sponsored enterprises that have government backing; municipal bonds consist of debt securities issued by state and local government entities; and sovereign bonds consist of direct debt issued by foreign governments. All securities are denominated in U.S. Dollars.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes the Company&amp;#8217;s available-for-sale investments as of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; (in thousands):&lt;/font&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" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:44%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:12%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&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;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Amortized&lt;br clear="none"/&gt;Cost&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Gross&lt;br clear="none"/&gt;Unrealized&lt;br clear="none"/&gt;Gains&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Gross&lt;br clear="none"/&gt;Unrealized&lt;br clear="none"/&gt;Losses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Fair&amp;#160;Value&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Short-term:&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;136,706&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(332&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;136,377&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;116,659&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;59&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(371&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;116,347&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;55,459&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(219&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;55,240&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Agency bonds&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;29,248&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(1&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;29,247&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;9,165&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(11&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;9,154&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;7,400&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(26&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;7,375&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Long-term:&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;208,382&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;636&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(564&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;208,454&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;48,033&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;12&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(305&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;47,740&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;8,977&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;35&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(41&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;8,971&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Agency bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,930&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,934&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;855&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(13&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;842&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;626,814&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;750&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(1,883&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;625,681&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes the Company&amp;#8217;s gross unrealized losses and fair values for available-for-sale investments in an unrealized loss position as of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; (in thousands):&lt;/font&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" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:29%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="15" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Unrealized Loss Position For:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:left;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Less than 12 Months&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;12 Months or Greater&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Total&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Fair&amp;#160;Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Unrealized&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Losses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Fair&amp;#160;Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Unrealized&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Losses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Fair&amp;#160;Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;border-top:1px solid #000000;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Unrealized&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Losses&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;139,225&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(713&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;22,908&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(222&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;162,133&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(935&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;84,309&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(149&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;48,464&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(183&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;132,773&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(332&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;90,411&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(496&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,462&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(28&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;94,873&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(524&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Agency bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;29,246&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;29,246&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,562&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(9&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,581&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(58&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;8,143&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(67&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,692&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(24&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,692&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(24&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;350,445&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(1,392&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;80,415&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(491&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;430,860&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(1,883&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;As of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;1, 2018&lt;/font&gt;&lt;font 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;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font 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;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$308,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$61,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, respectively, during the three-month period ended &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$55,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$13,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, respectively, during the three-month period ended &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;2, 2017&lt;/font&gt;&lt;font 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;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$363,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$94,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, respectively, during the six-month period ended &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$143,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$36,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, respectively, during the six-month period ended &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;2, 2017&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;.  These gains and losses are included in "Investment income" on the Consolidated Statement of Operations.  Prior to the sale of these securities, unrealized gains and losses for these debt securities, net of tax, are recorded in shareholders&amp;#8217; equity as accumulated other comprehensive income (loss).&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table presents the effective maturity dates of the Company&amp;#8217;s available-for-sale investments as of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; (in thousands):&lt;/font&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.22027290448344%;border-collapse:collapse;text-align:left;"&gt;&lt;tr&gt;&lt;td colspan="28" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:24%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:8%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:8%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:8%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:8%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:8%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:8%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:8%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&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;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;&amp;lt;1 year&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;1-2 Years&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;2-3 Years&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;3-4 Years&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;4-5 Years&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;5-7 Years&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Total&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;116,347&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;96,004&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;71,890&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;29,491&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;7,704&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,365&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;324,801&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;136,377&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;136,377&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;55,240&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;31,023&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,178&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,320&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,809&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,410&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;102,980&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Agency bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;29,247&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,934&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;35,181&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;7,375&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,963&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,008&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;16,346&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;9,154&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;842&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;9,996&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;353,740&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;132,990&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;77,918&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;33,811&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;19,447&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;7,775&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;625,681&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock>
	<us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock contextRef="FD2018Q2YTD" id="Fact-E921BA5BB6CFD2A8D71994A11E2E7B4B">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;New Pronouncements&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Accounting Standards Update (ASU) 2016-02, "Leases"&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;ASU 2016-02 creates Topic 842, Leases.  The objective of this Update is to increase transparency and comparability among organizations by recognizing lease assets and lease liabilities on the balance sheet, and disclosing key information about leasing arrangements.  This ASU applies to any entity that enters into a lease, although lessees will see the most significant changes.  The main difference between current GAAP and Topic 842 is the recognition of lease assets and lease liabilities on the balance sheet for those leases classified as operating leases under current GAAP.  Topic 842 distinguishes between finance leases and operating leases, which are substantially similar to the classification criteria for distinguishing between capital leases and operating leases under current GAAP.  For public companies, the  guidance in ASU 2016-02 is effective for annual periods beginning after December 15, 2018, and interim periods within those annual periods.  Although this ASU is required to be applied using a modified retrospective approach, the Financial Accounting Standards Board is reportedly in the final stages of issuing an optional transition method allowing entities to apply the amendments of this Update as a cumulative-effect adjustment to retained earnings.  Management will continue to monitor the final implementation guidance to determine the adoption method.  As of the date of this report,  management has determined the scope of leases subject to the new accounting requirements and has selected a software package to assist with compliance.  Management is in the process of reviewing all leases in scope, completing the implementation of the lease accounting software, and drafting the internal lease accounting policy and the related processes, internal controls, and disclosures. &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Accounting Standards Update (ASU) 2016-13, "Financial Instruments - Measurement of Credit Losses"&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font 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).&amp;#160; The amendments in this Update eliminate the probable initial recognition threshold to recognize a credit loss under current  GAAP and, instead, reflect an entity&amp;#8217;s current estimate of all expected credit losses.  In addition, this Update broadens the information an entity must consider in developing the credit loss estimate, including the use of reasonable and supportable forecasted information.&amp;#160; The amendments in this Update 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.&amp;#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.&amp;#160; Management does not expect ASU 2016-13 to have a material impact on the Company's financial statements and disclosures.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font 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;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font 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 Update 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 Update 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;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Accounting Standards Update (ASU) 2017-12, "Derivatives and Hedging - Targeted Improvements to Accounting for Hedging Activities"&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;ASU 2017-12 applies to all reporting entities that elect to apply hedge accounting.  The hedge accounting requirements under current GAAP sometimes do not permit an entity to properly recognize the economic results of the hedging strategy in the financial statements, and they are difficult to understand and interpret.  The amendments in this Update make certain targeted improvements to simplify the application of the hedge accounting guidance.  Also, they better align the risk management activities and financial reporting for hedging relationships through changes to both 1) the designation and measurement guidance for qualifying hedging relationships and 2) the presentation of hedge results.  For public companies, the amendments in ASU 2017-12 are effective for annual reporting periods beginning after December 15, 2018, and interim reporting periods within those annual periods.  Early adoption is permitted including adoption in any interim period after issuance of the Update.  All transition requirements and elections should be applied to hedging relationships existing on the date of adoption.  The entity should apply a cumulative-effect adjustment related to eliminating the separate measurement of ineffectiveness to accumulated other comprehensive income with a corresponding adjustment to the opening balance of retained earnings as of the beginning of the fiscal year that an entity adopts the amendments in this Update.  The amended presentation and disclosure guidance is required only prospectively.  Management does not expect ASU 2017-12 to have a material impact on the Company's financial statements and disclosures.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Accounting Standards Update (ASU) 2018-01, "Land Easement Practical Expedient for Transition to Topic 842"&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;ASU 2018-01 applies to entities with land easements that exist or expired before an entity&amp;#8217;s adoption of Topic 842, provided that the entity does not account for those land easements as leases under Topic 840.  The amendments in this Update permit an entity to elect an optional transition practical expedient to not evaluate under Topic 842 land easements that exist or expired before the entity&amp;#8217;s adoption of Topic 842 and that were not previously accounted for as leases under Topic 840.  An entity that elects this practical expedient should apply the practical expedient consistently to all of its existing or expired land easements that were not previously accounted for as leases under Topic 840.  Once an entity adopts Topic 842, it should apply that Topic prospectively to all new (or modified) land easements to determine whether the arrangement should be accounted for as a lease.  An entity that does not elect this practical expedient should evaluate all existing or expired land easements in connection with the adoption of the new lease requirements in Topic 842 to assess whether they meet the definition of a lease.  The amendments in this Update affect the amendments in Update 2016-02, which are not yet effective but may be early adopted.  The effective date and transition requirements for the amendments are the same as the effective date and transition requirements in Update 2016-02,  which is for annual periods beginning after December 15, 2018, and interim periods within those annual periods. Management does not expect ASU 2018-01 to have a material impact on the Company's financial statements and disclosures.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Accounting Standards Update (ASU) 2018-02, "Income Statement - Reporting Comprehensive Income"&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;ASU 2018-02 applies to entities required to apply the provisions of Topic 220, Income Statement - Reporting Comprehensive Income, and has items of other comprehensive income for which the related tax effects are presented in other comprehensive income as required by GAAP.  The amendments in this Update allow a reclassification from accumulated other comprehensive income to retained earnings for stranded tax effects resulting from the Tax Cuts and Jobs Act of 2017 (the "Tax Act").  Consequently, the amendments eliminate the stranded tax effects resulting from the Tax Act and will improve the usefulness of information reported to financial statement users.  However, because the amendments only relate to the reclassification of the income tax effects of the Tax Act, the underlying guidance that requires the effect of a change in tax laws or rates to be included in income from continuing operations is not affected.  The amendments in this Update also require certain disclosures about stranded tax effects.  The amendments in this Update are effective for all entities for fiscal years beginning after December 15, 2018, and interim periods within those fiscal years.  Early adoption of the amendments in this Update is permitted, including adoption in any interim period.  The amendments in this Update should be applied either in the period of adoption or retrospectively to each period (or periods) in which the effect of the change in the U.S. federal corporate income tax rate in the Tax Act is recognized.  Management does not expect ASU 2018-02 to have a material impact on the Company's financial statements and disclosures. &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Accounting Standards Update (ASU) 2018-07, "Compensation - Stock Compensation - Improvements to Nonemployee Share-Based Payment Accounting"&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;ASU 2018-07 applies to all entities that enter into share-based payment transactions for acquiring goods and services from nonemployees.  The amendments in this Update expand the scope of Topic 718, Compensation - Stock Compensation, to include share-based payments transactions to nonemployees.  Changes to the accounting for nonemployee awards as a result of this Update include: 1) equity-classified nonemployee share-based payment awards are measured at the grant date, instead of the previous requirement to remeasure the awards through the performance completion date, 2) for awards with performance conditions, compensation cost is recognized when the achievement of the performance condition is probable, rather than upon achievement, and 3) the current requirement to reassess the classification (equity or liability) for nonemployee awards upon vesting is eliminated.  This Update clarifies that Topic 718 does not apply to financing transactions or awards granted to customers as part of a contract accounted for under Topic 606, Revenue from Contracts with Customers.  The amendments in this Update are effective for public business entities for fiscal years beginning after December 15, 2018, and interim periods within that fiscal year.  An entity should only remeasure liability-classified awards that have not been settled by the date of adoption and equity-classified awards for which the measurement date has not been established through a cumulative-effect adjustment to retained earnings as of the beginning of the fiscal year of adoption.  Management does not expect ASU 2018-07 to have a material impact on the Company's financial statements and disclosures.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock>
	<us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock contextRef="FD2018Q2YTD" id="Fact-7B09ADFB2AF51CD09E02B8D4E2585014">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Accounting Standards Update (ASU) 2016-02, "Leases"&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;ASU 2016-02 creates Topic 842, Leases.  The objective of this Update is to increase transparency and comparability among organizations by recognizing lease assets and lease liabilities on the balance sheet, and disclosing key information about leasing arrangements.  This ASU applies to any entity that enters into a lease, although lessees will see the most significant changes.  The main difference between current GAAP and Topic 842 is the recognition of lease assets and lease liabilities on the balance sheet for those leases classified as operating leases under current GAAP.  Topic 842 distinguishes between finance leases and operating leases, which are substantially similar to the classification criteria for distinguishing between capital leases and operating leases under current GAAP.  For public companies, the  guidance in ASU 2016-02 is effective for annual periods beginning after December 15, 2018, and interim periods within those annual periods.  Although this ASU is required to be applied using a modified retrospective approach, the Financial Accounting Standards Board is reportedly in the final stages of issuing an optional transition method allowing entities to apply the amendments of this Update as a cumulative-effect adjustment to retained earnings.  Management will continue to monitor the final implementation guidance to determine the adoption method.  As of the date of this report,  management has determined the scope of leases subject to the new accounting requirements and has selected a software package to assist with compliance.  Management is in the process of reviewing all leases in scope, completing the implementation of the lease accounting software, and drafting the internal lease accounting policy and the related processes, internal controls, and disclosures. &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Accounting Standards Update (ASU) 2016-13, "Financial Instruments - Measurement of Credit Losses"&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font 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).&amp;#160; The amendments in this Update eliminate the probable initial recognition threshold to recognize a credit loss under current  GAAP and, instead, reflect an entity&amp;#8217;s current estimate of all expected credit losses.  In addition, this Update broadens the information an entity must consider in developing the credit loss estimate, including the use of reasonable and supportable forecasted information.&amp;#160; The amendments in this Update 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.&amp;#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.&amp;#160; Management does not expect ASU 2016-13 to have a material impact on the Company's financial statements and disclosures.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font 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;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font 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 Update 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 Update 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;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Accounting Standards Update (ASU) 2017-12, "Derivatives and Hedging - Targeted Improvements to Accounting for Hedging Activities"&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;ASU 2017-12 applies to all reporting entities that elect to apply hedge accounting.  The hedge accounting requirements under current GAAP sometimes do not permit an entity to properly recognize the economic results of the hedging strategy in the financial statements, and they are difficult to understand and interpret.  The amendments in this Update make certain targeted improvements to simplify the application of the hedge accounting guidance.  Also, they better align the risk management activities and financial reporting for hedging relationships through changes to both 1) the designation and measurement guidance for qualifying hedging relationships and 2) the presentation of hedge results.  For public companies, the amendments in ASU 2017-12 are effective for annual reporting periods beginning after December 15, 2018, and interim reporting periods within those annual periods.  Early adoption is permitted including adoption in any interim period after issuance of the Update.  All transition requirements and elections should be applied to hedging relationships existing on the date of adoption.  The entity should apply a cumulative-effect adjustment related to eliminating the separate measurement of ineffectiveness to accumulated other comprehensive income with a corresponding adjustment to the opening balance of retained earnings as of the beginning of the fiscal year that an entity adopts the amendments in this Update.  The amended presentation and disclosure guidance is required only prospectively.  Management does not expect ASU 2017-12 to have a material impact on the Company's financial statements and disclosures.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Accounting Standards Update (ASU) 2018-01, "Land Easement Practical Expedient for Transition to Topic 842"&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;ASU 2018-01 applies to entities with land easements that exist or expired before an entity&amp;#8217;s adoption of Topic 842, provided that the entity does not account for those land easements as leases under Topic 840.  The amendments in this Update permit an entity to elect an optional transition practical expedient to not evaluate under Topic 842 land easements that exist or expired before the entity&amp;#8217;s adoption of Topic 842 and that were not previously accounted for as leases under Topic 840.  An entity that elects this practical expedient should apply the practical expedient consistently to all of its existing or expired land easements that were not previously accounted for as leases under Topic 840.  Once an entity adopts Topic 842, it should apply that Topic prospectively to all new (or modified) land easements to determine whether the arrangement should be accounted for as a lease.  An entity that does not elect this practical expedient should evaluate all existing or expired land easements in connection with the adoption of the new lease requirements in Topic 842 to assess whether they meet the definition of a lease.  The amendments in this Update affect the amendments in Update 2016-02, which are not yet effective but may be early adopted.  The effective date and transition requirements for the amendments are the same as the effective date and transition requirements in Update 2016-02,  which is for annual periods beginning after December 15, 2018, and interim periods within those annual periods. Management does not expect ASU 2018-01 to have a material impact on the Company's financial statements and disclosures.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Accounting Standards Update (ASU) 2018-02, "Income Statement - Reporting Comprehensive Income"&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;ASU 2018-02 applies to entities required to apply the provisions of Topic 220, Income Statement - Reporting Comprehensive Income, and has items of other comprehensive income for which the related tax effects are presented in other comprehensive income as required by GAAP.  The amendments in this Update allow a reclassification from accumulated other comprehensive income to retained earnings for stranded tax effects resulting from the Tax Cuts and Jobs Act of 2017 (the "Tax Act").  Consequently, the amendments eliminate the stranded tax effects resulting from the Tax Act and will improve the usefulness of information reported to financial statement users.  However, because the amendments only relate to the reclassification of the income tax effects of the Tax Act, the underlying guidance that requires the effect of a change in tax laws or rates to be included in income from continuing operations is not affected.  The amendments in this Update also require certain disclosures about stranded tax effects.  The amendments in this Update are effective for all entities for fiscal years beginning after December 15, 2018, and interim periods within those fiscal years.  Early adoption of the amendments in this Update is permitted, including adoption in any interim period.  The amendments in this Update should be applied either in the period of adoption or retrospectively to each period (or periods) in which the effect of the change in the U.S. federal corporate income tax rate in the Tax Act is recognized.  Management does not expect ASU 2018-02 to have a material impact on the Company's financial statements and disclosures. &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Accounting Standards Update (ASU) 2018-07, "Compensation - Stock Compensation - Improvements to Nonemployee Share-Based Payment Accounting"&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;ASU 2018-07 applies to all entities that enter into share-based payment transactions for acquiring goods and services from nonemployees.  The amendments in this Update expand the scope of Topic 718, Compensation - Stock Compensation, to include share-based payments transactions to nonemployees.  Changes to the accounting for nonemployee awards as a result of this Update include: 1) equity-classified nonemployee share-based payment awards are measured at the grant date, instead of the previous requirement to remeasure the awards through the performance completion date, 2) for awards with performance conditions, compensation cost is recognized when the achievement of the performance condition is probable, rather than upon achievement, and 3) the current requirement to reassess the classification (equity or liability) for nonemployee awards upon vesting is eliminated.  This Update clarifies that Topic 718 does not apply to financing transactions or awards granted to customers as part of a contract accounted for under Topic 606, Revenue from Contracts with Customers.  The amendments in this Update are effective for public business entities for fiscal years beginning after December 15, 2018, and interim periods within that fiscal year.  An entity should only remeasure liability-classified awards that have not been settled by the date of adoption and equity-classified awards for which the measurement date has not been established through a cumulative-effect adjustment to retained earnings as of the beginning of the fiscal year of adoption.  Management does not expect ASU 2018-07 to have a material impact on the Company's financial statements and disclosures.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:NewAccountingPronouncementsPolicyPolicyTextBlock>
	<us-gaap:NonvestedRestrictedStockSharesActivityTableTextBlock contextRef="FD2018Q2YTD" id="Fact-2243C667777330428C4B94A11E44F689">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes the Company's restricted stock activity for the six-month period ended &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;: &lt;/font&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="11" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:48%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:15%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:14%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:16%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&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;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Shares                   (in thousands)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Weighted-Average     Grant Fair Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Aggregate Intrinsic Value                  (in thousands)&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Nonvested as of December 31, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;20&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;17.03&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Granted&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Vested&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(20&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;17.03&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;993&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Forfeited or expired&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Nonvested as of July 1, 2018&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:NonvestedRestrictedStockSharesActivityTableTextBlock>
	<us-gaap:OffsettingAssetsTableTextBlock contextRef="FD2018Q2YTD" id="Fact-A8794228767604ACBCD294A11E0E0F48">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;font 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;/font&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="19" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:21%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:10%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:12%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:22%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:10%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:12%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Asset Derivatives&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Liability Derivatives&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;July&amp;#160;1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;December&amp;#160;31, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;July&amp;#160;1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;December&amp;#160;31, 2017&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gross amounts of recognized assets&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;88&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;16&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gross amounts of recognized liabilities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;86&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;13&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gross amounts offset&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gross amounts offset&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Net amount of assets presented&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;88&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;16&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Net amount of liabilities presented&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;86&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;13&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:OffsettingAssetsTableTextBlock>
	<us-gaap:ProductWarrantyDisclosureTextBlock contextRef="FD2018Q2YTD" id="Fact-03A32F89DF626A189FA694A11E777032">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Warranty Obligations&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font 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&amp;#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 &amp;#8220;Accrued expenses&amp;#8221; on the Consolidated Balance Sheets.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The changes in the warranty obligation were as follows (in thousands):&lt;/font&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" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:82%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:16%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of December 31, 2017&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,701&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Provisions for warranties issued during the period&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,222&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Fulfillment of warranty obligations&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(1,559&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Foreign exchange rate changes&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(117&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of July 1, 2018&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;5,247&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ProductWarrantyDisclosureTextBlock>
	<us-gaap:RevenueRecognitionPolicyTextBlock contextRef="FD2018Q2YTD" id="Fact-9E48A5738299909F4892B8D4149B6971">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Revenue Recognition&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company recognizes revenue in accordance with Accounting Standards Codification (ASC) 606, &amp;#8220;Revenue from Contracts with Customers.&amp;#8221; The core principle of ASC 606 is to recognize revenue in a manner that depicts the transfer of promised goods or services to customers in an amount that reflects the consideration to which the Company expects to be entitled in exchange for those goods or services.  The framework in support of this core principle includes: (1) identifying the contract with the customer; (2) identifying the performance obligations in the contract; (3) determining the transaction price; (4) allocating the transaction price to the performance obligations; and (5) recognizing revenue when (or as) the performance obligations are satisfied.  &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Identifying the Contract with the Customer&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company identifies contracts with customers as agreements that create enforceable rights and obligations, which typically take the form of customer contracts or purchase orders.  &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Identifying the Performance Obligations in the Contract&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company identifies performance obligations as promises in contracts to transfer distinct goods or services. Standard products and services that the Company regularly sells separately are accounted for as distinct performance obligations.  Application-specific customer solutions that are comprised of a combination of products and services are accounted for as one performance obligation to deliver a total solution to the customer.  On-site support services that are provided to the customer after the solution is deployed are accounted for as a separate performance obligation.  These solutions are provided to customers in a variety of industries, including the consumer electronics, logistics, and automotive industries.   &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Shipping and handling activities for which the Company is responsible under the terms and conditions of the sale are not accounted for as performance obligations but as fulfillment costs.  These activities are required to fulfill the Company&amp;#8217;s promise to transfer the goods and are expensed when revenue is recognized.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company does not assess whether promised goods or services are performance obligations if they are immaterial in the context of the contract.  If revenue is recognized before immaterial promises have been completed, then the costs related to such immaterial promises are accrued at the time of sale.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Determining the Transaction Price&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company determines the transaction price as the amount of consideration it expects to receive in exchange for transferring promised goods or services to the customer.  Amounts collected from customers for sales taxes are excluded from the transaction price. &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;If a contract includes a variable amount, such as a rebate, then the Company estimates the transaction price using either the expected value or the most likely amount of consideration to be received, depending upon the specific facts and circumstances.  The Company includes estimated variable consideration in the transaction price only to the extent it is probable that a significant reversal of revenue will not occur when the uncertainty is resolved.  The Company updates its estimate of variable consideration at the end of each reporting period to reflect changes in facts and circumstances.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Allocating the Transaction Price to the Performance Obligations&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company allocates the transaction price to each performance obligation at contract inception based on a relative stand-alone selling price basis, or the price at which the Company would sell the good or service separately to similar customers in similar circumstances.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Recognizing Revenue When (or As) the Performance Obligations are Satisfied&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company recognizes revenue when it transfers the promised goods or services to the customer.  Revenue for standard products is recognized at the point in time when the customer obtains control of the goods, which is typically upon delivery when the customer has legal title, physical possession, the risks and rewards of ownership, and an enforceable obligation to pay for the products.  Revenue for services, which are not material, is typically recognized over the time the service is provided.  &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Revenue for application-specific customer solutions is recognized at the point in time when the solution is validated, which is the point in time when the Company can objectively determine that the agreed-upon specifications in the contract have been met and the customer will accept the performance obligations in the arrangement.  Although the customer may have taken legal title and physical possession of the goods when they arrived at the customer&amp;#8217;s designated site, the significant risks and rewards of ownership transfer to the customer only upon validation.  Revenue for on-site support services related to these solutions is recognized over the time the service is provided.  &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;In certain instances, an arrangement may include customer-specified acceptance provisions or performance guarantees that allow the customer to accept or reject delivered products that do not meet the customer&amp;#8217;s specifications.  If the Company can objectively determine that control of a good or service has been transferred to the customer in accordance with the agreed-upon specifications in the contract, then customer acceptance is a formality.  If acceptance provisions are presumed to be substantive, then revenue is deferred until customer acceptance.  &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;For the Company&amp;#8217;s standard products and services, revenue recognition and billing typically occur at the same time.  For application-specific customer solutions, however, the agreement with the customer may provide for billing terms which differ from revenue recognition criteria, resulting in either deferred revenue or unbilled revenue.  Credit assessments are performed to determine payment terms, which vary by region, industry, and customer.  Prepayment terms result in contract liabilities for customer deposits.  When credit is granted to customers, payment is typically due 30 to 90 days from billing.  The Company's contracts have an original expected duration of less than one year, and therefore as a practical expedient, the Company has elected to ignore the impact of the time value of money on a contract and to expense sales commissions.  The Company recognizes an asset for costs to fulfill a contract if the costs relate directly to the contract and to future performance, and the costs are expected to be recovered.  &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Management exercises judgment when determining the amount of revenue to be recognized each period.  Such judgments include, but are not limited to, assessing the customer&amp;#8217;s ability and intention to pay substantially all of the contract consideration when due, determining when two or more contracts should be combined and accounted for as a single contract, determining whether a contract modification has occurred, assessing whether promises are immaterial in the context of the contract, determining whether material promises in a contract represent distinct performance obligations, estimating the transaction price for a contract that contains variable consideration, determining the stand-alone selling price of each performance obligation, determining whether control is transferred over time or at a point in time for performance obligations, and assessing whether formal customer acceptance provisions are substantive.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:RevenueRecognitionPolicyTextBlock>
	<us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock contextRef="FD2018Q2YTD" id="Fact-C5AB9C1B371AD854BC6094A11E6C05A9">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes the Company&amp;#8217;s available-for-sale investments as of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; (in thousands):&lt;/font&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" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:44%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:12%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&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;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Amortized&lt;br clear="none"/&gt;Cost&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Gross&lt;br clear="none"/&gt;Unrealized&lt;br clear="none"/&gt;Gains&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Gross&lt;br clear="none"/&gt;Unrealized&lt;br clear="none"/&gt;Losses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Fair&amp;#160;Value&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Short-term:&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;136,706&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(332&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;136,377&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;116,659&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;59&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(371&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;116,347&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;55,459&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(219&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;55,240&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Agency bonds&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;29,248&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(1&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;29,247&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;9,165&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(11&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;9,154&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;7,400&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(26&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;7,375&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Long-term:&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;208,382&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;636&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(564&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;208,454&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;48,033&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;12&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(305&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;47,740&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;8,977&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;35&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(41&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;8,971&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Agency bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,930&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,934&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;855&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(13&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;842&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;626,814&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;750&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(1,883&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;625,681&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock>
	<us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock contextRef="FD2018Q2YTD" id="Fact-CC6235AA3551CF3D71A194A11E0D6304">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;font-size:10pt;"&gt;&lt;font 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;/font&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" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:25%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:27%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Location in Financial Statements&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Three-months Ended&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Six-months Ended&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;July 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July 2, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;July 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July 2, 2017&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Derivatives Designated as Hedging Instruments:&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gains (losses) recorded in shareholders' equity (effective portion)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Accumulated other comprehensive income (loss), net of tax&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;60&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;60&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gains (losses) reclassified from accumulated other comprehensive income (loss) into current operations (effective portion)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Revenue&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;9&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(46&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Research, development, and engineering expenses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Selling, general, and administrative expenses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;8&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Total gains (losses) reclassified from accumulated other comprehensive income (loss) into current operations&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;9&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(35&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gains (losses) recognized in current operations (ineffective portion and discontinued derivatives)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Foreign currency gain (loss)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="11" style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Derivatives Not Designated as Hedging Instruments:&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Gains (losses) recognized in current operations&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Foreign currency gain (loss)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(354&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;177&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(665&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;96&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock>
	<us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock contextRef="FD2018Q2YTD" id="Fact-9A311290D146521382B694A11E109E09">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Information regarding the fair value of the outstanding forward contracts was as follows (in thousands):&lt;/font&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" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:16%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:17%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:10%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:12%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:10%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Asset Derivatives&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Liability Derivatives&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Balance&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Fair Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Balance&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Fair Value&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Sheet&lt;br clear="none"/&gt;Location&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;July 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;December 31, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Sheet&lt;br clear="none"/&gt;Location&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;July 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;December 31, 2017&lt;/font&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;" rowspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Derivatives Not Designated as Hedging Instruments:&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Economic hedge forward contracts&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Prepaid&amp;#160;expenses&amp;#160;and other current assets&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;88&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;16&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Accrued expenses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;86&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;13&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock>
	<us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock contextRef="FD2018Q2YTD" id="Fact-BA9E5A4F17C85B080A2E94A11E345B12">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;A reconciliation of the United States federal statutory corporate tax rate to the Company&amp;#8217;s income tax expense, or effective tax rate, was as follows:&lt;/font&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" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:53%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:10%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:10%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:10%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:10%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Three-months&amp;#160;Ended&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Six-months Ended&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;July 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July 2, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;July 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July 2, 2017&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Income tax provision at federal statutory corporate tax rate&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;21&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#160;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;35&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;21&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#160;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;35&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;%&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;State income taxes, net of federal benefit&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#160;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#160;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;%&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Foreign tax rate differential&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(7&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(18&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(7&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(18&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)%&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Tax credit&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)%&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Discrete tax benefit related to stock option exercises&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(1&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(9&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(5&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(19&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)%&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Other&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#160;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#160;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;%&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Income tax provision&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;16&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#160;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;9&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;11&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#160;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(1&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
	<us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock contextRef="FD2018Q2YTD" id="Fact-359AD409744C1246A20094A11E585BFC">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font 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;/font&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" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:38%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:12%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Three-months Ended&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Six-months Ended&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;July 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July 2, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;July 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July 2, 2017&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Cost of revenue&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;557&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;454&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;1,354&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;884&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Research, development, and engineering&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;3,154&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,715&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;7,969&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,325&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Selling, general, and administrative&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;5,291&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,677&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;12,873&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;9,120&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;9,002&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;7,846&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;22,196&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;15,329&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock>
	<us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock contextRef="FD2018Q2YTD" id="Fact-9E1E323CB58E6F6E0F6294A11E757E0F">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font 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;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; (in thousands):&lt;/font&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" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:50%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:14%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:14%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:14%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&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;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Quoted&amp;#160;Prices&amp;#160;in&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Active Markets&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;for Identical&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Assets (Level 1)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Significant&amp;#160;    Other&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Observable&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Inputs (Level 2)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;&lt;br clear="none"/&gt;Unobservable&lt;br clear="none"/&gt;Inputs                                                                                                                                                                             (Level 3)&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Assets:&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Money market instruments&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,055&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;324,801&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;136,377&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;102,980&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Agency bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;35,181&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;16,346&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;9,996&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Economic hedge forward contracts&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;88&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Liabilities:&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Economic hedge forward contracts&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(86&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Contingent consideration liabilities&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,303&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock>
	<us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock contextRef="FD2018Q2YTD" id="Fact-5B3FD1A7FAC92DB5F50F94A11E45B400">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:6px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Amortized intangible assets consisted of the following (in thousands):&lt;/font&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" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:53%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&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;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Gross&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Carrying&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Accumulated&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Amortization&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Net&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Carrying&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Value&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Distribution networks&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;38,060&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;38,060&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Completed technologies&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;13,687&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;5,400&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;8,287&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Customer relationships&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;8,607&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;5,459&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;3,148&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Non-compete agreements&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;370&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;154&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;216&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of July 1, 2018&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;60,724&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;49,073&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;11,651&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;height:12px;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:inherit;font-size:8pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Gross&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Carrying&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Accumulated&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Amortization&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Net&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Carrying&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Value&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Distribution networks&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;38,060&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;38,060&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Completed technologies&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;13,687&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,181&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;9,506&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Customer relationships&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;8,607&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,202&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,405&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Non-compete agreements&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;370&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;92&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;278&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of December 31, 2017&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;60,724&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;47,535&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;13,189&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
	<us-gaap:ScheduleOfInventoryCurrentTableTextBlock contextRef="FD2018Q2YTD" id="Fact-BEB242082867A5D062BE94A11E64F831">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Inventories consisted of the following (in thousands):&lt;/font&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" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:63%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:16%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:16%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&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;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;July 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;"&gt;December 31, 2017&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Raw materials&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;46,020&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;33,927&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Work-in-process&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,114&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Finished goods&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;43,536&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;31,882&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;89,556&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;67,923&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
	<us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock contextRef="FD2018Q2YTD" id="Fact-85041B7D4D152773EAC294A11E78890B">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The changes in the warranty obligation were as follows (in thousands):&lt;/font&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" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:82%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:16%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of December 31, 2017&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,701&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Provisions for warranties issued during the period&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,222&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Fulfillment of warranty obligations&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(1,559&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Foreign exchange rate changes&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(117&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Balance as of July 1, 2018&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;5,247&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock>
	<us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock contextRef="FD2018Q2YTD" id="Fact-9BF2967532DB35139CC294A11E5002F5">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes the Company&amp;#8217;s stock option activity for the &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;six&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;-month period ended &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;:&lt;/font&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" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:39%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:14%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:11%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:15%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&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;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Shares&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(in&amp;#160;thousands)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Weighted-&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Average&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Exercise&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Price&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Weighted-&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Average&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Remaining&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Contractual&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Term&amp;#160;(in&amp;#160;years)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Aggregate&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Intrinsic&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Value&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(in&amp;#160;thousands)&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Outstanding as of December 31, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;12,726&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;25.24&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Granted&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,119&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;56.03&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Exercised&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(881&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;16.82&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Forfeited or expired&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(373&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;32.68&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Outstanding as of July 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:2px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;13,591&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:2px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:2px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:2px solid #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;30.39&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:2px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:2px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;7.62&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:2px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:2px solid #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;223,515&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:2px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Exercisable as of July 1, 2018&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;4,781&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;19.98&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;6.17&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;117,767&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Options vested or expected to vest as of July 1, 2018 (1)&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;12,177&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;29.20&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;7.49&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;210,965&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#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;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
	<us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock contextRef="FD2018Q2YTD" id="Fact-539BE631DA00DF2D84AB94A11E5C7FFA">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font 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;/font&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" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:40%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:14%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:13%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Three-months&amp;#160;Ended&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Six-months Ended&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;July 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July 2, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;July 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July 2, 2017&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Risk-free rate&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2.9&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2.4&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;2.9&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2.4&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;%&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Expected dividend yield&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;0.32&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;0.39&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;0.32&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;0.39&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;%&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Expected volatility&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;39&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;41&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;39&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;%&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;41&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;%&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Expected term (in years)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;5.4&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5.2&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;5.3&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5.3&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock>
	<us-gaap:ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock contextRef="FD2018Q2YTD" id="Fact-B729FD52609DC51AF1FB94A11E5E0AD3">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The following table summarizes the Company&amp;#8217;s gross unrealized losses and fair values for available-for-sale investments in an unrealized loss position as of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; (in thousands):&lt;/font&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" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:29%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:9%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="15" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Unrealized Loss Position For:&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:left;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Less than 12 Months&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;12 Months or Greater&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Total&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Fair&amp;#160;Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Unrealized&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Losses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Fair&amp;#160;Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Unrealized&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Losses&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Fair&amp;#160;Value&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;border-top:1px solid #000000;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Unrealized&lt;/font&gt;&lt;/div&gt;&lt;div style="text-align:center;font-size:9pt;"&gt;&lt;font style="font-family:Arial;font-size:9pt;font-weight:bold;"&gt;Losses&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Corporate bonds&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;139,225&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(713&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;22,908&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(222&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;162,133&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(935&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Treasury bills&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;84,309&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(149&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;48,464&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(183&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;132,773&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(332&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Asset-backed securities&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;90,411&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(496&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,462&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(28&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;94,873&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(524&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Agency bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;29,246&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;29,246&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(1&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Sovereign bonds&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,562&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(9&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;4,581&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(58&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;8,143&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(67&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Municipal bonds&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,692&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(24&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&amp;#8212;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;3,692&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;(24&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;)&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;350,445&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(1,392&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;80,415&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(491&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;430,860&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;(1,883&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;)&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock>
	<us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock contextRef="FD2018Q2YTD" id="Fact-4D331212942F262759CC94A11E7C57B3">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Weighted-average shares were calculated as follows (in thousands):&lt;/font&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" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:53%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:10%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:10%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:10%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:10%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Three-months Ended&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Six-months Ended&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;July 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July 2, 2017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;July 1, 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July 2, 2017&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Basic weighted-average common shares outstanding&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;172,370&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;173,278&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;172,825&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;172,960&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Effect of dilutive stock options&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;4,779&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,950&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;5,593&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;5,944&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Weighted-average common and common-equivalent shares outstanding&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;177,149&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;179,228&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;178,418&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;178,904&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfWeightedAverageNumberOfSharesTableTextBlock>
	<us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock contextRef="FD2018Q2YTD" id="Fact-C20148587B96F2C931AA94A11E450063">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;As of July 1, 2018, estimated future amortization expense related to intangible assets is as follows (in thousands):&lt;/font&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" rowspan="1"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td style="width:82%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:15%;" rowspan="1" colspan="1"&gt;&lt;/td&gt;&lt;td style="width:1%;" rowspan="1" colspan="1"&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;text-decoration:underline;"&gt;Year Ended December&amp;#160;31,&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:center;font-size:8pt;"&gt;&lt;font style="font-family:Arial;font-size:8pt;font-weight:bold;"&gt;Amount&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Remainder of fiscal 2018&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,538&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2019&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,701&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2020&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,185&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2021&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2,017&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2022&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,691&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;2023&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;989&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Thereafter&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;530&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"&gt;&lt;div style="overflow:hidden;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&amp;#160;&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;$&lt;/font&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;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:right;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;11,651&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"&gt;&lt;div style="text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:inherit;font-size:10pt;"&gt;&lt;br clear="none"/&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock>
	<us-gaap:SignificantAccountingPoliciesTextBlock contextRef="FD2018Q2YTD" id="Fact-8CE9D66366182CFCFF3794A11E0C4A9C">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Summary of Significant Accounting Policies&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font 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 606 "Revenue from Contracts with Customers," Cognex Corporation (the "Company") has provided new disclosures related to revenue recognition in this Quarterly Report on Form 10-Q.  Reference should be made to the consolidated financial statements and related notes included in the Company&amp;#8217;s Annual Report on Form 10-K for the year ended &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;December&amp;#160;31, 2017&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; for a full description of significant accounting policies.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font 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&amp;#8217;s financial position as of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, and the results of its operations for the three-month and six-month periods ended &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; and &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;2, 2017&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;, and changes in shareholders&amp;#8217; equity, comprehensive income, and cash flows for the periods presented.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The results disclosed in the Consolidated Statements of Operations for the three-month and six-month periods ended &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;July&amp;#160;1, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; are not necessarily indicative of the results to be expected for the full year.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;text-decoration:underline;"&gt;Revenue Recognition&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company recognizes revenue in accordance with Accounting Standards Codification (ASC) 606, &amp;#8220;Revenue from Contracts with Customers.&amp;#8221; The core principle of ASC 606 is to recognize revenue in a manner that depicts the transfer of promised goods or services to customers in an amount that reflects the consideration to which the Company expects to be entitled in exchange for those goods or services.  The framework in support of this core principle includes: (1) identifying the contract with the customer; (2) identifying the performance obligations in the contract; (3) determining the transaction price; (4) allocating the transaction price to the performance obligations; and (5) recognizing revenue when (or as) the performance obligations are satisfied.  &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Identifying the Contract with the Customer&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company identifies contracts with customers as agreements that create enforceable rights and obligations, which typically take the form of customer contracts or purchase orders.  &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:left;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Identifying the Performance Obligations in the Contract&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company identifies performance obligations as promises in contracts to transfer distinct goods or services. Standard products and services that the Company regularly sells separately are accounted for as distinct performance obligations.  Application-specific customer solutions that are comprised of a combination of products and services are accounted for as one performance obligation to deliver a total solution to the customer.  On-site support services that are provided to the customer after the solution is deployed are accounted for as a separate performance obligation.  These solutions are provided to customers in a variety of industries, including the consumer electronics, logistics, and automotive industries.   &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Shipping and handling activities for which the Company is responsible under the terms and conditions of the sale are not accounted for as performance obligations but as fulfillment costs.  These activities are required to fulfill the Company&amp;#8217;s promise to transfer the goods and are expensed when revenue is recognized.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company does not assess whether promised goods or services are performance obligations if they are immaterial in the context of the contract.  If revenue is recognized before immaterial promises have been completed, then the costs related to such immaterial promises are accrued at the time of sale.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Determining the Transaction Price&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company determines the transaction price as the amount of consideration it expects to receive in exchange for transferring promised goods or services to the customer.  Amounts collected from customers for sales taxes are excluded from the transaction price. &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;If a contract includes a variable amount, such as a rebate, then the Company estimates the transaction price using either the expected value or the most likely amount of consideration to be received, depending upon the specific facts and circumstances.  The Company includes estimated variable consideration in the transaction price only to the extent it is probable that a significant reversal of revenue will not occur when the uncertainty is resolved.  The Company updates its estimate of variable consideration at the end of each reporting period to reflect changes in facts and circumstances.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Allocating the Transaction Price to the Performance Obligations&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company allocates the transaction price to each performance obligation at contract inception based on a relative stand-alone selling price basis, or the price at which the Company would sell the good or service separately to similar customers in similar circumstances.&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-style:italic;"&gt;Recognizing Revenue When (or As) the Performance Obligations are Satisfied&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;The Company recognizes revenue when it transfers the promised goods or services to the customer.  Revenue for standard products is recognized at the point in time when the customer obtains control of the goods, which is typically upon delivery when the customer has legal title, physical possession, the risks and rewards of ownership, and an enforceable obligation to pay for the products.  Revenue for services, which are not material, is typically recognized over the time the service is provided.  &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Revenue for application-specific customer solutions is recognized at the point in time when the solution is validated, which is the point in time when the Company can objectively determine that the agreed-upon specifications in the contract have been met and the customer will accept the performance obligations in the arrangement.  Although the customer may have taken legal title and physical possession of the goods when they arrived at the customer&amp;#8217;s designated site, the significant risks and rewards of ownership transfer to the customer only upon validation.  Revenue for on-site support services related to these solutions is recognized over the time the service is provided.  &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;In certain instances, an arrangement may include customer-specified acceptance provisions or performance guarantees that allow the customer to accept or reject delivered products that do not meet the customer&amp;#8217;s specifications.  If the Company can objectively determine that control of a good or service has been transferred to the customer in accordance with the agreed-upon specifications in the contract, then customer acceptance is a formality.  If acceptance provisions are presumed to be substantive, then revenue is deferred until customer acceptance.  &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;For the Company&amp;#8217;s standard products and services, revenue recognition and billing typically occur at the same time.  For application-specific customer solutions, however, the agreement with the customer may provide for billing terms which differ from revenue recognition criteria, resulting in either deferred revenue or unbilled revenue.  Credit assessments are performed to determine payment terms, which vary by region, industry, and customer.  Prepayment terms result in contract liabilities for customer deposits.  When credit is granted to customers, payment is typically due 30 to 90 days from billing.  The Company's contracts have an original expected duration of less than one year, and therefore as a practical expedient, the Company has elected to ignore the impact of the time value of money on a contract and to expense sales commissions.  The Company recognizes an asset for costs to fulfill a contract if the costs relate directly to the contract and to future performance, and the costs are expected to be recovered.  &lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;Management exercises judgment when determining the amount of revenue to be recognized each period.  Such judgments include, but are not limited to, assessing the customer&amp;#8217;s ability and intention to pay substantially all of the contract consideration when due, determining when two or more contracts should be combined and accounted for as a single contract, determining whether a contract modification has occurred, assessing whether promises are immaterial in the context of the contract, determining whether material promises in a contract represent distinct performance obligations, estimating the transaction price for a contract that contains variable consideration, determining the stand-alone selling price of each performance obligation, determining whether control is transferred over time or at a point in time for performance obligations, and assessing whether formal customer acceptance provisions are substantive.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:SignificantAccountingPoliciesTextBlock>
	<us-gaap:StockholdersEquityNoteDisclosureTextBlock contextRef="FD2018Q2YTD" id="Fact-2E9FB3787672055DD17894A11DF70DEE">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Stock Repurchase Program&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;In April 2017, the Company's Board of Directors authorized the repurchase of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$100,000,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; of the Company's common stock.  As of July 1, 2018, the Company had repurchased &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,744,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; shares at a cost of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$100,000,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; under this program, including &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;803,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; shares at a cost of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$45,200,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; in the three-month period ended April 1, 2018. Stock repurchases under this April 2017 program were completed in the three-month period ended April 1, 2018.  In February 2018, the Company's Board of Directors authorized the repurchase of an additional &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$150,000,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; of the Company's common stock.  As of July 1, 2018,  the Company had repurchased &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;1,553,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; shares at a cost of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$76,108,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; under this program, leaving a remaining authorized balance of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$73,892,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;.  Total stock repurchases in the six-month period ended July 1, 2018 amounted to &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$121,308,000&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;. The Company may repurchase shares under this program in future periods 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;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:StockholdersEquityNoteDisclosureTextBlock>
	<us-gaap:SubsequentEventsTextBlock contextRef="FD2018Q2YTD" id="Fact-BF702C5F6255236772B394A11E7DC093">&lt;div style="font-family:Times New Roman;font-size:10pt;"&gt;&lt;div style="line-height:120%;padding-top:8px;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;font-weight:bold;"&gt;Subsequent Events&lt;/font&gt;&lt;/div&gt;&lt;div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;On July 30, 2018, the Company&amp;#8217;s Board of Directors declared a cash dividend of &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;$0.045&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; per share.  The dividend is payable &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;August&amp;#160;31, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt; to all shareholders of record as of the close of business on &lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;August&amp;#160;17, 2018&lt;/font&gt;&lt;font style="font-family:Arial;font-size:10pt;"&gt;.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:SubsequentEventsTextBlock>
	<link:footnoteLink xlink:role="http://www.xbrl.org/2003/role/link" xlink:type="extended">
	</link:footnoteLink>
</xbrli:xbrl>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.SCH
<SEQUENCE>7
<FILENAME>cgnx-20180701.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/20180701" xmlns:cgnx="http://www.cognex.com/20180701" 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/us-gaap/2017-01-31" schemaLocation="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd" />
  <xsd:import namespace="http://fasb.org/us-roles/2017-01-31" schemaLocation="http://xbrl.fasb.org/us-gaap/2017/elts/us-roles-2017-01-31.xsd" />
  <xsd:import namespace="http://fasb.org/us-types/2017-01-31" schemaLocation="http://xbrl.fasb.org/us-gaap/2017/elts/us-types-2017-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/2014-01-31" schemaLocation="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd" />
  <xsd:import namespace="http://xbrl.sec.gov/exch/2017-01-31" schemaLocation="http://xbrl.sec.gov/exch/2017/exch-2017-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/2011-01-31" schemaLocation="http://xbrl.sec.gov/stpr/2011/stpr-2011-01-31.xsd" />
  <xsd:annotation>
    <xsd:appinfo>
      <link:linkbaseRef xlink:arcrole="http://www.w3.org/1999/xlink/properties/linkbase" xlink:href="cgnx-20180701_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-20180701_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-20180701_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-20180701_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="DerivativeInstruments" roleURI="http://www.cognex.com/role/DerivativeInstruments">
        <link:definition>2111100 - 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>2411406 - 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>2411402 - 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>2411405 - 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>2411403 - 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>2411404 - 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>2311301 - 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="DocumentAndEntityInformation" roleURI="http://www.cognex.com/role/DocumentAndEntityInformation">
        <link:definition>0001000 - Document - Document and Entity Information</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>2109100 - 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>2409402 - 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>2409402 - 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>2309301 - 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="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="StockBasedCompensationExpense" roleURI="http://www.cognex.com/role/StockBasedCompensationExpense">
        <link:definition>2112100 - 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>2412402 - 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="StockBasedCompensationExpenseNonvestedRestrictedStockSharesActivityDetails" roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseNonvestedRestrictedStockSharesActivityDetails">
        <link:definition>2412405 - Disclosure - Stock-Based Compensation Expense - Nonvested Restricted Stock Shares 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="StockBasedCompensationExpenseScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsDetail" roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsDetail">
        <link:definition>2412406 - 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>2412403 - 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>2312301 - 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>2412404 - 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>2113100 - 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>2413401 - 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>2119100 - 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>2419401 - 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>2115100 - 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>2415403 - 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>2415402 - 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>2315301 - 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>2110100 - 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>2410402 - 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>2310301 - 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>2116100 - 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>2416403 - 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>2416402 - 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>2316301 - 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 id="cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue" name="AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="debit" xbrli:periodType="instant" />
  <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 abstract="true" id="cgnx_DocumentAndEntityInformationAbstract" name="DocumentAndEntityInformationAbstract" nillable="true" substitutionGroup="xbrli:item" type="xbrli:stringItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent" name="EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent" 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_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 abstract="true" id="cgnx_ManateeWorksInc.Member" name="ManateeWorksInc.Member" 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_PaymentsForDivestitureofBusinesses" name="PaymentsForDivestitureofBusinesses" nillable="true" substitutionGroup="xbrli:item" type="xbrli:monetaryItemType" xbrli:balance="credit" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="cgnx_RepurchaseProgramApril2017Member" name="RepurchaseProgramApril2017Member" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="cgnx_RepurchaseProgramApril2017andFebruary2018Member" name="RepurchaseProgramApril2017andFebruary2018Member" nillable="true" substitutionGroup="xbrli:item" type="nonnum:domainItemType" xbrli:periodType="duration" />
  <xsd:element abstract="true" id="cgnx_RepurchaseProgramFebruary2018Member" name="RepurchaseProgramFebruary2018Member" 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 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 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:element id="cgnx_Vestingperiodperformancebasedrestrictedstockyears" name="Vestingperiodperformancebasedrestrictedstockyears" nillable="true" substitutionGroup="xbrli:item" type="xbrli:durationItemType" xbrli:periodType="duration" />
  <xsd:element id="cgnx_Vestingperiodtimebasedrestrictedstockyears" name="Vestingperiodtimebasedrestrictedstockyears" nillable="true" substitutionGroup="xbrli:item" type="xbrli:durationItemType" xbrli:periodType="duration" />
</xsd:schema>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.CAL
<SEQUENCE>8
<FILENAME>cgnx-20180701_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-20180701.xsd#CashCashEquivalentsAndInvestments" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail" xlink:href="cgnx-20180701.xsd#CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsDetail" xlink:href="cgnx-20180701.xsd#CashCashEquivalentsAndInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail" xlink:href="cgnx-20180701.xsd#CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail" xlink:href="cgnx-20180701.xsd#CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail" xlink:href="cgnx-20180701.xsd#CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsTables" xlink:href="cgnx-20180701.xsd#CashCashEquivalentsAndInvestmentsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedBalanceSheets" xlink:href="cgnx-20180701.xsd#ConsolidatedBalanceSheets" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:href="cgnx-20180701.xsd#ConsolidatedBalanceSheetsParenthetical" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity" xlink:href="cgnx-20180701.xsd#ConsolidatedStatementOfShareholdersEquity" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquityParenthetical" xlink:href="cgnx-20180701.xsd#ConsolidatedStatementOfShareholdersEquityParenthetical" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows" xlink:href="cgnx-20180701.xsd#ConsolidatedStatementsOfCashFlows" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome" xlink:href="cgnx-20180701.xsd#ConsolidatedStatementsOfComprehensiveIncome" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncomeParenthetical" xlink:href="cgnx-20180701.xsd#ConsolidatedStatementsOfComprehensiveIncomeParenthetical" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementsOfOperations" xlink:href="cgnx-20180701.xsd#ConsolidatedStatementsOfOperations" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstruments" xlink:href="cgnx-20180701.xsd#DerivativeInstruments" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetail" xlink:href="cgnx-20180701.xsd#DerivativeInstrumentsDerivativeInstrumentsGainLossDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsDetail" xlink:href="cgnx-20180701.xsd#DerivativeInstrumentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetail" xlink:href="cgnx-20180701.xsd#DerivativeInstrumentsOffsettingAssetsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail" xlink:href="cgnx-20180701.xsd#DerivativeInstrumentsOutstandingForwardContractsTableDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail" xlink:href="cgnx-20180701.xsd#DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsTables" xlink:href="cgnx-20180701.xsd#DerivativeInstrumentsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DocumentAndEntityInformation" xlink:href="cgnx-20180701.xsd#DocumentAndEntityInformation" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/FairValueMeasurements" xlink:href="cgnx-20180701.xsd#FairValueMeasurements" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" xlink:href="cgnx-20180701.xsd#FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails" xlink:href="cgnx-20180701.xsd#FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/FairValueMeasurementsTables" xlink:href="cgnx-20180701.xsd#FairValueMeasurementsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/IntangibleAssets" xlink:href="cgnx-20180701.xsd#IntangibleAssets" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/IntangibleAssetsDetails" xlink:href="cgnx-20180701.xsd#IntangibleAssetsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/IntangibleAssetsDetailsCalc2" xlink:href="cgnx-20180701.xsd#IntangibleAssetsDetailsCalc2" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/IntangibleAssetsTables" xlink:href="cgnx-20180701.xsd#IntangibleAssetsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/Inventories" xlink:href="cgnx-20180701.xsd#Inventories" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/InventoriesScheduleOfInventoriesDetail" xlink:href="cgnx-20180701.xsd#InventoriesScheduleOfInventoriesDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/InventoriesTables" xlink:href="cgnx-20180701.xsd#InventoriesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/NewPronouncements" xlink:href="cgnx-20180701.xsd#NewPronouncements" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpense" xlink:href="cgnx-20180701.xsd#StockBasedCompensationExpense" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseDetail" xlink:href="cgnx-20180701.xsd#StockBasedCompensationExpenseDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseNonvestedRestrictedStockSharesActivityDetails" xlink:href="cgnx-20180701.xsd#StockBasedCompensationExpenseNonvestedRestrictedStockSharesActivityDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsDetail" xlink:href="cgnx-20180701.xsd#StockBasedCompensationExpenseScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" xlink:href="cgnx-20180701.xsd#StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseTables" xlink:href="cgnx-20180701.xsd#StockBasedCompensationExpenseTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail" xlink:href="cgnx-20180701.xsd#StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockRepurchaseProgram" xlink:href="cgnx-20180701.xsd#StockRepurchaseProgram" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockRepurchaseProgramDetail" xlink:href="cgnx-20180701.xsd#StockRepurchaseProgramDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/SubsequentEvents" xlink:href="cgnx-20180701.xsd#SubsequentEvents" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/SubsequentEventsDetails" xlink:href="cgnx-20180701.xsd#SubsequentEventsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/SummaryOfSignificantAccountingPolicies" xlink:href="cgnx-20180701.xsd#SummaryOfSignificantAccountingPolicies" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/SummaryOfSignificantAccountingPoliciesPolicies" xlink:href="cgnx-20180701.xsd#SummaryOfSignificantAccountingPoliciesPolicies" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/Taxes" xlink:href="cgnx-20180701.xsd#Taxes" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/TaxesDetail" xlink:href="cgnx-20180701.xsd#TaxesDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail" xlink:href="cgnx-20180701.xsd#TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/TaxesTables" xlink:href="cgnx-20180701.xsd#TaxesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WarrantyObligations" xlink:href="cgnx-20180701.xsd#WarrantyObligations" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WarrantyObligationsChangesInWarrantyObligationsDetail" xlink:href="cgnx-20180701.xsd#WarrantyObligationsChangesInWarrantyObligationsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WarrantyObligationsTables" xlink:href="cgnx-20180701.xsd#WarrantyObligationsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WeightedAverageShares" xlink:href="cgnx-20180701.xsd#WeightedAverageShares" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WeightedAverageSharesCalculationOfWeightedAverageSharesDetail" xlink:href="cgnx-20180701.xsd#WeightedAverageSharesCalculationOfWeightedAverageSharesDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WeightedAverageSharesDetail" xlink:href="cgnx-20180701.xsd#WeightedAverageSharesDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WeightedAverageSharesTables" xlink:href="cgnx-20180701.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-20180701.xsd#cgnx_CashCashEquivalentsShortTermAndLongTermInvestments" xlink:label="loc_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_b0ea7d99-7eac-6d25-0c03-f96b5ae59d03" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_07da1db4-2708-4446-4250-1fdd5956185e" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_b0ea7d99-7eac-6d25-0c03-f96b5ae59d03" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_07da1db4-2708-4446-4250-1fdd5956185e" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_Cash" xlink:label="loc_us-gaap_Cash_94c137c7-bb31-5444-c8e6-a4a41bb54d97" 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_07da1db4-2708-4446-4250-1fdd5956185e" xlink:to="loc_us-gaap_Cash_94c137c7-bb31-5444-c8e6-a4a41bb54d97" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MoneyMarketFundsAtCarryingValue" xlink:label="loc_us-gaap_MoneyMarketFundsAtCarryingValue_3aae306e-5a24-8a9a-c9e0-b6adf2c9a083" 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_07da1db4-2708-4446-4250-1fdd5956185e" xlink:to="loc_us-gaap_MoneyMarketFundsAtCarryingValue_3aae306e-5a24-8a9a-c9e0-b6adf2c9a083" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_3dfc2054-7ef3-a116-42e5-83130d5f5732" xlink:type="locator" />
    <link:calculationArc order="2" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_b0ea7d99-7eac-6d25-0c03-f96b5ae59d03" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_3dfc2054-7ef3-a116-42e5-83130d5f5732" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LongTermInvestments" xlink:label="loc_us-gaap_LongTermInvestments_c62504ca-c588-7676-b66d-68002db39ddb" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_b0ea7d99-7eac-6d25-0c03-f96b5ae59d03" xlink:to="loc_us-gaap_LongTermInvestments_c62504ca-c588-7676-b66d-68002db39ddb" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_2c867d9b-5594-18ef-c82a-679b606d1bd3" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_4836856d-11b6-313b-8616-6a2c8b77e26f" 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_2c867d9b-5594-18ef-c82a-679b606d1bd3" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_4836856d-11b6-313b-8616-6a2c8b77e26f" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_6d8cff72-0b26-7918-b109-f96b5b678eb5" 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_2c867d9b-5594-18ef-c82a-679b606d1bd3" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_6d8cff72-0b26-7918-b109-f96b5b678eb5" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_daa02421-fe8b-2920-db3f-f96b5b5e117c" 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_2c867d9b-5594-18ef-c82a-679b606d1bd3" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_daa02421-fe8b-2920-db3f-f96b5b5e117c" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_8f6df217-aa1f-776a-7669-f96b5b5f0e30" 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_2c867d9b-5594-18ef-c82a-679b606d1bd3" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_8f6df217-aa1f-776a-7669-f96b5b5f0e30" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_77bd18f8-893c-6c84-9bd0-f96b5b3b7a9c" 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_2c867d9b-5594-18ef-c82a-679b606d1bd3" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_77bd18f8-893c-6c84-9bd0-f96b5b3b7a9c" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue_4008914f-e0ea-7b87-57e9-f96b5b689524" xlink:type="locator" />
    <link:calculationArc order="6" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_2c867d9b-5594-18ef-c82a-679b606d1bd3" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue_4008914f-e0ea-7b87-57e9-f96b5b689524" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_fa6902f3-9ec3-0632-57ef-52a27e57695e" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_aaf3e830-a5d9-ffa3-4995-c9e738f331db" 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_fa6902f3-9ec3-0632-57ef-52a27e57695e" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_aaf3e830-a5d9-ffa3-4995-c9e738f331db" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_80d8afbb-83ba-fc94-42ba-ea8166197445" 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_fa6902f3-9ec3-0632-57ef-52a27e57695e" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_80d8afbb-83ba-fc94-42ba-ea8166197445" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_00e7a94b-1ec9-6499-7f0a-2050ff159115" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue_a1dd3f1b-4c24-2372-1a98-24b25891a665" 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_00e7a94b-1ec9-6499-7f0a-2050ff159115" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue_a1dd3f1b-4c24-2372-1a98-24b25891a665" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue_7b1de9af-f23a-d7bf-8a2c-7efccf28ddba" 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_00e7a94b-1ec9-6499-7f0a-2050ff159115" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue_7b1de9af-f23a-d7bf-8a2c-7efccf28ddba" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_fc961581-2899-aa00-cc82-b67bd4267bb3" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_bb34ca49-0ca6-d513-414f-31e205fa11cc" 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_fc961581-2899-aa00-cc82-b67bd4267bb3" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_bb34ca49-0ca6-d513-414f-31e205fa11cc" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_fa6902f3-9ec3-0632-57ef-52a27e57695e" 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_fc961581-2899-aa00-cc82-b67bd4267bb3" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_fa6902f3-9ec3-0632-57ef-52a27e57695e" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecurities" xlink:label="loc_us-gaap_AvailableForSaleSecurities_d444402b-921b-e0fa-119c-908ab66850af" 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_fc961581-2899-aa00-cc82-b67bd4267bb3" xlink:to="loc_us-gaap_AvailableForSaleSecurities_d444402b-921b-e0fa-119c-908ab66850af" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_Assets" xlink:label="loc_us-gaap_Assets_c6057b1d-6685-8249-2051-6c57f3a16a9e" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AssetsCurrent" xlink:label="loc_us-gaap_AssetsCurrent_8a47066b-3628-88d1-49db-ed09aecc7fc7" 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_c6057b1d-6685-8249-2051-6c57f3a16a9e" xlink:to="loc_us-gaap_AssetsCurrent_8a47066b-3628-88d1-49db-ed09aecc7fc7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_07da1db4-2708-4446-4250-1fdd5956185e" 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_8a47066b-3628-88d1-49db-ed09aecc7fc7" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_07da1db4-2708-4446-4250-1fdd5956185e" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_3dfc2054-7ef3-a116-42e5-83130d5f5732" 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_8a47066b-3628-88d1-49db-ed09aecc7fc7" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_3dfc2054-7ef3-a116-42e5-83130d5f5732" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_dd7775cd-f4ab-5607-9b31-1ee98f605818" 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_8a47066b-3628-88d1-49db-ed09aecc7fc7" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent_dd7775cd-f4ab-5607-9b31-1ee98f605818" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_UnbilledReceivablesCurrent" xlink:label="loc_us-gaap_UnbilledReceivablesCurrent_0af4cf4f-dd4e-4a27-50f3-b3447f0d9b89" 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_8a47066b-3628-88d1-49db-ed09aecc7fc7" xlink:to="loc_us-gaap_UnbilledReceivablesCurrent_0af4cf4f-dd4e-4a27-50f3-b3447f0d9b89" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaap_InventoryNet_7eab44cf-1ea1-ca2a-420f-21f7b5343fc3" 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_8a47066b-3628-88d1-49db-ed09aecc7fc7" xlink:to="loc_us-gaap_InventoryNet_7eab44cf-1ea1-ca2a-420f-21f7b5343fc3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_2294e6a2-7bab-43ed-d02c-bdf73b8fa561" 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_8a47066b-3628-88d1-49db-ed09aecc7fc7" xlink:to="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_2294e6a2-7bab-43ed-d02c-bdf73b8fa561" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LongTermInvestments" xlink:label="loc_us-gaap_LongTermInvestments_c62504ca-c588-7676-b66d-68002db39ddb" 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_c6057b1d-6685-8249-2051-6c57f3a16a9e" xlink:to="loc_us-gaap_LongTermInvestments_c62504ca-c588-7676-b66d-68002db39ddb" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_1944a381-5c4e-ce3c-9111-13ccd1c639db" 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_c6057b1d-6685-8249-2051-6c57f3a16a9e" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_1944a381-5c4e-ce3c-9111-13ccd1c639db" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DeferredTaxAssetsNetNoncurrent" xlink:label="loc_us-gaap_DeferredTaxAssetsNetNoncurrent_0176d7b6-3703-b24f-2db3-fb35a9f915aa" 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_c6057b1d-6685-8249-2051-6c57f3a16a9e" xlink:to="loc_us-gaap_DeferredTaxAssetsNetNoncurrent_0176d7b6-3703-b24f-2db3-fb35a9f915aa" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_49187b45-82fd-7060-b114-79ff249a4331" 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_c6057b1d-6685-8249-2051-6c57f3a16a9e" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_49187b45-82fd-7060-b114-79ff249a4331" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaap_Goodwill_93a64cae-271a-5e6b-8c83-5adf9f941142" 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_c6057b1d-6685-8249-2051-6c57f3a16a9e" xlink:to="loc_us-gaap_Goodwill_93a64cae-271a-5e6b-8c83-5adf9f941142" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_9b27fab9-d497-627b-4cfb-6b585220b978" 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_c6057b1d-6685-8249-2051-6c57f3a16a9e" xlink:to="loc_us-gaap_OtherAssetsNoncurrent_9b27fab9-d497-627b-4cfb-6b585220b978" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity_159dcb00-b17e-17db-7098-be4159799459" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_Liabilities" xlink:label="loc_us-gaap_Liabilities_d8bb821f-d155-9d4e-1738-736b4bf4cb19" 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_159dcb00-b17e-17db-7098-be4159799459" xlink:to="loc_us-gaap_Liabilities_d8bb821f-d155-9d4e-1738-736b4bf4cb19" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaap_LiabilitiesCurrent_f5e246cf-e80f-d00b-c8ed-4796aa2df4b4" 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_d8bb821f-d155-9d4e-1738-736b4bf4cb19" xlink:to="loc_us-gaap_LiabilitiesCurrent_f5e246cf-e80f-d00b-c8ed-4796aa2df4b4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccountsPayableCurrent" xlink:label="loc_us-gaap_AccountsPayableCurrent_7a72b51a-735c-1ad4-bd3f-d9bcf2d6a26d" 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_f5e246cf-e80f-d00b-c8ed-4796aa2df4b4" xlink:to="loc_us-gaap_AccountsPayableCurrent_7a72b51a-735c-1ad4-bd3f-d9bcf2d6a26d" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_3fe8f96b-142b-97b1-3b39-b8d22cd10e98" 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_f5e246cf-e80f-d00b-c8ed-4796aa2df4b4" xlink:to="loc_us-gaap_AccruedLiabilitiesCurrent_3fe8f96b-142b-97b1-3b39-b8d22cd10e98" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccruedIncomeTaxesCurrent" xlink:label="loc_us-gaap_AccruedIncomeTaxesCurrent_bd3a7ae4-0e62-b7df-2312-729d1644863d" 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_f5e246cf-e80f-d00b-c8ed-4796aa2df4b4" xlink:to="loc_us-gaap_AccruedIncomeTaxesCurrent_bd3a7ae4-0e62-b7df-2312-729d1644863d" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DeferredRevenueAndCreditsCurrent" xlink:label="loc_us-gaap_DeferredRevenueAndCreditsCurrent_6731e9e1-bfb2-76de-c1de-51076d3ff7a2" 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_f5e246cf-e80f-d00b-c8ed-4796aa2df4b4" xlink:to="loc_us-gaap_DeferredRevenueAndCreditsCurrent_6731e9e1-bfb2-76de-c1de-51076d3ff7a2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_9a73c768-7e07-f56f-7aba-2b93110d3715" 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_d8bb821f-d155-9d4e-1738-736b4bf4cb19" xlink:to="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_9a73c768-7e07-f56f-7aba-2b93110d3715" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:label="loc_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_bda61526-afae-4edf-1e19-ab8c94a352d1" 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_d8bb821f-d155-9d4e-1738-736b4bf4cb19" xlink:to="loc_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_bda61526-afae-4edf-1e19-ab8c94a352d1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccruedIncomeTaxes" xlink:label="loc_us-gaap_AccruedIncomeTaxes_e24bf851-0f63-5d95-87c7-77732da67d36" 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_d8bb821f-d155-9d4e-1738-736b4bf4cb19" xlink:to="loc_us-gaap_AccruedIncomeTaxes_e24bf851-0f63-5d95-87c7-77732da67d36" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="loc_us-gaap_OtherLiabilitiesNoncurrent_f234998c-5e05-09d0-d53e-5c44423c97c0" 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_d8bb821f-d155-9d4e-1738-736b4bf4cb19" xlink:to="loc_us-gaap_OtherLiabilitiesNoncurrent_f234998c-5e05-09d0-d53e-5c44423c97c0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaap_StockholdersEquity_4b158f76-5f04-5e4d-ead3-d80e1f9943db" 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_159dcb00-b17e-17db-7098-be4159799459" xlink:to="loc_us-gaap_StockholdersEquity_4b158f76-5f04-5e4d-ead3-d80e1f9943db" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CommonStockValueOutstanding" xlink:label="loc_us-gaap_CommonStockValueOutstanding_84f35893-355e-0c6f-c67d-2f363beeac9a" 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_4b158f76-5f04-5e4d-ead3-d80e1f9943db" xlink:to="loc_us-gaap_CommonStockValueOutstanding_84f35893-355e-0c6f-c67d-2f363beeac9a" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="loc_us-gaap_AdditionalPaidInCapitalCommonStock_41895068-9590-2880-73df-521995865843" 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_4b158f76-5f04-5e4d-ead3-d80e1f9943db" xlink:to="loc_us-gaap_AdditionalPaidInCapitalCommonStock_41895068-9590-2880-73df-521995865843" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_065cb284-7fca-cc9b-5752-2feaf74d0011" 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_4b158f76-5f04-5e4d-ead3-d80e1f9943db" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_065cb284-7fca-cc9b-5752-2feaf74d0011" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_04f0961a-a0bc-88cf-6658-3f950da4a458" 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_4b158f76-5f04-5e4d-ead3-d80e1f9943db" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_04f0961a-a0bc-88cf-6658-3f950da4a458" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease" xlink:label="loc_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_dd2e9db6-10f9-d78a-ba84-b18268245a83" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_444b1ac7-f47a-4ce3-0caa-537f7e4ab8c3" 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_dd2e9db6-10f9-d78a-ba84-b18268245a83" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_444b1ac7-f47a-4ce3-0caa-537f7e4ab8c3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_641b1cab-a2b3-2e0e-8389-1455ff3f8581" 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_444b1ac7-f47a-4ce3-0caa-537f7e4ab8c3" xlink:to="loc_us-gaap_NetIncomeLoss_641b1cab-a2b3-2e0e-8389-1455ff3f8581" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockOptionPlanExpense" xlink:label="loc_us-gaap_StockOptionPlanExpense_104477f8-83c9-dc2e-3540-f2495eaf6b1c" 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_444b1ac7-f47a-4ce3-0caa-537f7e4ab8c3" xlink:to="loc_us-gaap_StockOptionPlanExpense_104477f8-83c9-dc2e-3540-f2495eaf6b1c" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_Depreciation" xlink:label="loc_us-gaap_Depreciation_b4463f01-8926-c348-9c78-89e2ab0ed145" 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_444b1ac7-f47a-4ce3-0caa-537f7e4ab8c3" xlink:to="loc_us-gaap_Depreciation_b4463f01-8926-c348-9c78-89e2ab0ed145" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets_ae796c5c-1c01-d654-6a3c-3b5dd2c89517" 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_444b1ac7-f47a-4ce3-0caa-537f7e4ab8c3" xlink:to="loc_us-gaap_AmortizationOfIntangibleAssets_ae796c5c-1c01-d654-6a3c-3b5dd2c89517" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments" xlink:label="loc_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_ee12cc29-63c9-040c-19f2-17921f90c9bb" 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_444b1ac7-f47a-4ce3-0caa-537f7e4ab8c3" xlink:to="loc_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_ee12cc29-63c9-040c-19f2-17921f90c9bb" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_GainLossOnSaleOfInvestments" xlink:label="loc_us-gaap_GainLossOnSaleOfInvestments_a2377e00-ed9e-3dc2-4fbd-c7e624463b5d" 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_444b1ac7-f47a-4ce3-0caa-537f7e4ab8c3" xlink:to="loc_us-gaap_GainLossOnSaleOfInvestments_a2377e00-ed9e-3dc2-4fbd-c7e624463b5d" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_23d33fb4-4c27-bc2e-1ec3-5bf906d2e523" 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_444b1ac7-f47a-4ce3-0caa-537f7e4ab8c3" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_23d33fb4-4c27-bc2e-1ec3-5bf906d2e523" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:label="loc_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_37df9202-d5d1-1363-9956-7b4402bf22d6" 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_444b1ac7-f47a-4ce3-0caa-537f7e4ab8c3" xlink:to="loc_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_37df9202-d5d1-1363-9956-7b4402bf22d6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_dd4bfa5e-1979-c817-e8a9-371104c0d4f7" 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_444b1ac7-f47a-4ce3-0caa-537f7e4ab8c3" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_dd4bfa5e-1979-c817-e8a9-371104c0d4f7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInUnbilledReceivables" xlink:label="loc_us-gaap_IncreaseDecreaseInUnbilledReceivables_6cd34f19-57d8-aa6f-5d3a-fb8e0fc91b31" 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_444b1ac7-f47a-4ce3-0caa-537f7e4ab8c3" xlink:to="loc_us-gaap_IncreaseDecreaseInUnbilledReceivables_6cd34f19-57d8-aa6f-5d3a-fb8e0fc91b31" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories_bf3f9720-ba63-7ecd-52ae-e754a6f349db" 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_444b1ac7-f47a-4ce3-0caa-537f7e4ab8c3" xlink:to="loc_us-gaap_IncreaseDecreaseInInventories_bf3f9720-ba63-7ecd-52ae-e754a6f349db" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_c998cbd2-a633-c2ec-1932-e3bfedecbc9f" 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_444b1ac7-f47a-4ce3-0caa-537f7e4ab8c3" xlink:to="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_c998cbd2-a633-c2ec-1932-e3bfedecbc9f" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable_a8b6fe35-4809-bddf-7ef6-3144a6c89165" 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_444b1ac7-f47a-4ce3-0caa-537f7e4ab8c3" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsPayable_a8b6fe35-4809-bddf-7ef6-3144a6c89165" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_74be5b6b-5c06-c74c-89da-2d9660b81d9b" 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_444b1ac7-f47a-4ce3-0caa-537f7e4ab8c3" xlink:to="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_74be5b6b-5c06-c74c-89da-2d9660b81d9b" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedTaxesPayable" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedTaxesPayable_e1b56980-77f5-cd6e-5f3f-b4c4391067d0" 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_444b1ac7-f47a-4ce3-0caa-537f7e4ab8c3" xlink:to="loc_us-gaap_IncreaseDecreaseInAccruedTaxesPayable_e1b56980-77f5-cd6e-5f3f-b4c4391067d0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:label="loc_us-gaap_IncreaseDecreaseInDeferredRevenue_91397648-589d-3b53-47c8-16b8909c78f4" 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_444b1ac7-f47a-4ce3-0caa-537f7e4ab8c3" xlink:to="loc_us-gaap_IncreaseDecreaseInDeferredRevenue_91397648-589d-3b53-47c8-16b8909c78f4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_962cfc51-230d-a221-126b-1d12af7a5921" 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_444b1ac7-f47a-4ce3-0caa-537f7e4ab8c3" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_962cfc51-230d-a221-126b-1d12af7a5921" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_70319186-e7bd-7189-88d2-eba26fb93350" 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_dd2e9db6-10f9-d78a-ba84-b18268245a83" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_70319186-e7bd-7189-88d2-eba26fb93350" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PaymentsToAcquireInvestments" xlink:label="loc_us-gaap_PaymentsToAcquireInvestments_a3cce359-4901-8e47-7521-d2fa73471a4d" 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_70319186-e7bd-7189-88d2-eba26fb93350" xlink:to="loc_us-gaap_PaymentsToAcquireInvestments_a3cce359-4901-8e47-7521-d2fa73471a4d" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments" xlink:label="loc_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_121f9e9b-9a4d-e32c-aef0-97aedfda4465" 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_70319186-e7bd-7189-88d2-eba26fb93350" xlink:to="loc_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_121f9e9b-9a4d-e32c-aef0-97aedfda4465" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_fee12b15-6b42-6245-2e2f-ff030b98332c" 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_70319186-e7bd-7189-88d2-eba26fb93350" xlink:to="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_fee12b15-6b42-6245-2e2f-ff030b98332c" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_9d35c912-5b2d-89f7-eeb3-812a0511db5e" xlink:type="locator" />
    <link:calculationArc order="4" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_70319186-e7bd-7189-88d2-eba26fb93350" xlink:to="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_9d35c912-5b2d-89f7-eeb3-812a0511db5e" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_PaymentsForDivestitureofBusinesses" xlink:label="loc_cgnx_PaymentsForDivestitureofBusinesses_f2e4873d-79d7-2f60-06e1-f96b5b17326a" xlink:type="locator" />
    <link:calculationArc order="5" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_70319186-e7bd-7189-88d2-eba26fb93350" xlink:to="loc_cgnx_PaymentsForDivestitureofBusinesses_f2e4873d-79d7-2f60-06e1-f96b5b17326a" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_deb49b68-c030-7624-a39d-ea301caa5dbf" 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_dd2e9db6-10f9-d78a-ba84-b18268245a83" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_deb49b68-c030-7624-a39d-ea301caa5dbf" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_d59a921e-6301-0411-46e6-49b6a981f8a0" 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_deb49b68-c030-7624-a39d-ea301caa5dbf" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_d59a921e-6301-0411-46e6-49b6a981f8a0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_8a1490c4-32d9-5132-1fe2-2675a45abdae" 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_deb49b68-c030-7624-a39d-ea301caa5dbf" xlink:to="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_8a1490c4-32d9-5132-1fe2-2675a45abdae" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PaymentsOfDividendsCommonStock" xlink:label="loc_us-gaap_PaymentsOfDividendsCommonStock_6f80ca9e-82d0-f056-a403-c4914c1ce379" 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_deb49b68-c030-7624-a39d-ea301caa5dbf" xlink:to="loc_us-gaap_PaymentsOfDividendsCommonStock_6f80ca9e-82d0-f056-a403-c4914c1ce379" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_Paymentofcontingentconsideration" xlink:label="loc_cgnx_Paymentofcontingentconsideration_d15d0438-f42e-94ce-fc37-f96b5b0d32b4" 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_deb49b68-c030-7624-a39d-ea301caa5dbf" xlink:to="loc_cgnx_Paymentofcontingentconsideration_d15d0438-f42e-94ce-fc37-f96b5b0d32b4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents" xlink:label="loc_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents_8629a772-7004-5d77-9980-0f501e29c5c8" 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_dd2e9db6-10f9-d78a-ba84-b18268245a83" xlink:to="loc_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents_8629a772-7004-5d77-9980-0f501e29c5c8" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax_499015ce-2160-aed2-85a3-080e8c4c6cdf" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_641b1cab-a2b3-2e0e-8389-1455ff3f8581" 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_499015ce-2160-aed2-85a3-080e8c4c6cdf" xlink:to="loc_us-gaap_NetIncomeLoss_641b1cab-a2b3-2e0e-8389-1455ff3f8581" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_72d12753-e25c-cdc0-88b6-98db8d7b7fae" 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_499015ce-2160-aed2-85a3-080e8c4c6cdf" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_72d12753-e25c-cdc0-88b6-98db8d7b7fae" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax_cc7c59d2-21ac-163e-0898-1c1f212ef02b" 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_72d12753-e25c-cdc0-88b6-98db8d7b7fae" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax_cc7c59d2-21ac-163e-0898-1c1f212ef02b" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax_6feed690-17e1-a928-d1c5-204f2faa570e" xlink:type="locator" />
    <link:calculationArc order="1" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax_cc7c59d2-21ac-163e-0898-1c1f212ef02b" xlink:to="loc_us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax_6feed690-17e1-a928-d1c5-204f2faa570e" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_aa99f772-8337-cbc2-0b89-25fbb3108271" xlink:type="locator" />
    <link:calculationArc order="2" weight="-1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax_cc7c59d2-21ac-163e-0898-1c1f212ef02b" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_aa99f772-8337-cbc2-0b89-25fbb3108271" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent" xlink:label="loc_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_e78780a0-37a6-d85b-a453-be28b7843e2c" 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_72d12753-e25c-cdc0-88b6-98db8d7b7fae" xlink:to="loc_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_e78780a0-37a6-d85b-a453-be28b7843e2c" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_57e8ae74-d8b6-c629-9bee-2d0929cd3999" 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_e78780a0-37a6-d85b-a453-be28b7843e2c" xlink:to="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_57e8ae74-d8b6-c629-9bee-2d0929cd3999" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_ab3008c3-c5c2-a86b-0613-39cbd9b94527" 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_e78780a0-37a6-d85b-a453-be28b7843e2c" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_ab3008c3-c5c2-a86b-0613-39cbd9b94527" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_351eeed0-a987-88e4-c007-095f3644ffff" xlink:type="locator" />
    <link:calculationArc order="3" weight="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/summation-item" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_72d12753-e25c-cdc0-88b6-98db8d7b7fae" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_351eeed0-a987-88e4-c007-095f3644ffff" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_641b1cab-a2b3-2e0e-8389-1455ff3f8581" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_0eb47183-f513-314d-ceda-ee2412d9eee8" 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_641b1cab-a2b3-2e0e-8389-1455ff3f8581" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_0eb47183-f513-314d-ceda-ee2412d9eee8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaap_OperatingIncomeLoss_9894e895-7695-402a-9f03-08d60b7373b8" 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_0eb47183-f513-314d-ceda-ee2412d9eee8" xlink:to="loc_us-gaap_OperatingIncomeLoss_9894e895-7695-402a-9f03-08d60b7373b8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaap_GrossProfit_aaae347c-fa91-e2c3-dd05-1b008b13fd0c" 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_9894e895-7695-402a-9f03-08d60b7373b8" xlink:to="loc_us-gaap_GrossProfit_aaae347c-fa91-e2c3-dd05-1b008b13fd0c" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SalesRevenueNet" xlink:label="loc_us-gaap_SalesRevenueNet_ff017a48-8743-bfac-8af0-ca31401cb6de" 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_aaae347c-fa91-e2c3-dd05-1b008b13fd0c" xlink:to="loc_us-gaap_SalesRevenueNet_ff017a48-8743-bfac-8af0-ca31401cb6de" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold_53981114-ea4f-c85d-1ee7-90421fdccca2" 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_aaae347c-fa91-e2c3-dd05-1b008b13fd0c" xlink:to="loc_us-gaap_CostOfGoodsAndServicesSold_53981114-ea4f-c85d-1ee7-90421fdccca2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense_25ae5ce2-b413-b975-9a84-c7503d2496cf" 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_9894e895-7695-402a-9f03-08d60b7373b8" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpense_25ae5ce2-b413-b975-9a84-c7503d2496cf" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense_29ad42f4-24c5-90ea-4492-fdb757d66249" 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_9894e895-7695-402a-9f03-08d60b7373b8" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpense_29ad42f4-24c5-90ea-4492-fdb757d66249" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="loc_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_303ce027-35e0-90c6-b665-c64d3c33d4e9" 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_0eb47183-f513-314d-ceda-ee2412d9eee8" xlink:to="loc_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_303ce027-35e0-90c6-b665-c64d3c33d4e9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InvestmentIncomeNonoperating" xlink:label="loc_us-gaap_InvestmentIncomeNonoperating_6d011e0e-8a4d-ead4-8ae2-208e1f9abb48" 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_0eb47183-f513-314d-ceda-ee2412d9eee8" xlink:to="loc_us-gaap_InvestmentIncomeNonoperating_6d011e0e-8a4d-ead4-8ae2-208e1f9abb48" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_250c3b2f-7db5-7088-68cc-1dd831a2c2d7" 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_0eb47183-f513-314d-ceda-ee2412d9eee8" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_250c3b2f-7db5-7088-68cc-1dd831a2c2d7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_78b7d85e-8366-fe6d-cb1f-faac5a041b79" 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_641b1cab-a2b3-2e0e-8389-1455ff3f8581" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_78b7d85e-8366-fe6d-cb1f-faac5a041b79" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="loc_us-gaap_EarningsPerShareDiluted_220f7108-2ee6-8535-1bca-b062759c7beb" xlink:type="locator" />
  </link:calculationLink>
  <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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeLiabilities" xlink:label="loc_us-gaap_DerivativeLiabilities_a3ccd28b-d904-f2d6-d218-02006f748e50" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeFairValueOfDerivativeLiability" xlink:label="loc_us-gaap_DerivativeFairValueOfDerivativeLiability_5296452d-3ce9-bd2f-2a62-9643805fc6ab" 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_a3ccd28b-d904-f2d6-d218-02006f748e50" xlink:to="loc_us-gaap_DerivativeFairValueOfDerivativeLiability_5296452d-3ce9-bd2f-2a62-9643805fc6ab" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset" xlink:label="loc_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset_c158f5f4-cf9a-a27f-1343-bbeaf55efdf3" 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_a3ccd28b-d904-f2d6-d218-02006f748e50" xlink:to="loc_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset_c158f5f4-cf9a-a27f-1343-bbeaf55efdf3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeAssets" xlink:label="loc_us-gaap_DerivativeAssets_990d24f7-bf09-089d-4b5d-4490e079db44" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeFairValueOfDerivativeAsset" xlink:label="loc_us-gaap_DerivativeFairValueOfDerivativeAsset_62eb8c59-8348-bd48-683f-a9f1d164ff20" 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_990d24f7-bf09-089d-4b5d-4490e079db44" xlink:to="loc_us-gaap_DerivativeFairValueOfDerivativeAsset_62eb8c59-8348-bd48-683f-a9f1d164ff20" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset" xlink:label="loc_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset_f0ed1dd6-b12a-9bb9-127d-50ae9f099faa" 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_990d24f7-bf09-089d-4b5d-4490e079db44" xlink:to="loc_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset_f0ed1dd6-b12a-9bb9-127d-50ae9f099faa" 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/DocumentAndEntityInformation" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_49187b45-82fd-7060-b114-79ff249a4331" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross_5d62e128-f1a1-954f-82e2-1936cb67d793" 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_49187b45-82fd-7060-b114-79ff249a4331" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsGross_5d62e128-f1a1-954f-82e2-1936cb67d793" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_c3ed8a56-abe0-6418-c541-e6b647d6318a" 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_49187b45-82fd-7060-b114-79ff249a4331" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_c3ed8a56-abe0-6418-c541-e6b647d6318a" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_66C32A18A9EF32942B31B8CAC674EF3C_49187b45-82fd-7060-b114-79ff249a4331" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_66C32A18A9EF32942B31B8CAC674EF3C_eddc9cd1-842c-4ab4-6a14-582ff2d019b0" 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_66C32A18A9EF32942B31B8CAC674EF3C_49187b45-82fd-7060-b114-79ff249a4331" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_66C32A18A9EF32942B31B8CAC674EF3C_eddc9cd1-842c-4ab4-6a14-582ff2d019b0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_66C32A18A9EF32942B31B8CAC674EF3C_c918d4cb-4462-72da-1198-39107cb9581b" 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_66C32A18A9EF32942B31B8CAC674EF3C_49187b45-82fd-7060-b114-79ff249a4331" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_66C32A18A9EF32942B31B8CAC674EF3C_c918d4cb-4462-72da-1198-39107cb9581b" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_66C32A18A9EF32942B31B8CAC674EF3C_e44a1606-1eda-278a-1c39-e2fcbf96f248" 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_66C32A18A9EF32942B31B8CAC674EF3C_49187b45-82fd-7060-b114-79ff249a4331" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_66C32A18A9EF32942B31B8CAC674EF3C_e44a1606-1eda-278a-1c39-e2fcbf96f248" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_66C32A18A9EF32942B31B8CAC674EF3C_6a8745e2-e4b9-1a92-2a4b-72abaf326824" 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_66C32A18A9EF32942B31B8CAC674EF3C_49187b45-82fd-7060-b114-79ff249a4331" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_66C32A18A9EF32942B31B8CAC674EF3C_6a8745e2-e4b9-1a92-2a4b-72abaf326824" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_66C32A18A9EF32942B31B8CAC674EF3C_ceebb9d8-94b3-173f-0af1-6bad40ca326c" 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_66C32A18A9EF32942B31B8CAC674EF3C_49187b45-82fd-7060-b114-79ff249a4331" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_66C32A18A9EF32942B31B8CAC674EF3C_ceebb9d8-94b3-173f-0af1-6bad40ca326c" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_66C32A18A9EF32942B31B8CAC674EF3C_b5e743d1-f009-54c0-57f0-4a30eb0e9bab" 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_66C32A18A9EF32942B31B8CAC674EF3C_49187b45-82fd-7060-b114-79ff249a4331" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_66C32A18A9EF32942B31B8CAC674EF3C_b5e743d1-f009-54c0-57f0-4a30eb0e9bab" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_66C32A18A9EF32942B31B8CAC674EF3C_f98b1772-f2e7-e86d-8181-c87649b7a914" 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_66C32A18A9EF32942B31B8CAC674EF3C_49187b45-82fd-7060-b114-79ff249a4331" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_66C32A18A9EF32942B31B8CAC674EF3C_f98b1772-f2e7-e86d-8181-c87649b7a914" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaap_InventoryNet_7eab44cf-1ea1-ca2a-420f-21f7b5343fc3" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="loc_us-gaap_InventoryRawMaterialsNetOfReserves_d8866e11-7330-6a9a-9ba0-56d88707d8ec" 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_7eab44cf-1ea1-ca2a-420f-21f7b5343fc3" xlink:to="loc_us-gaap_InventoryRawMaterialsNetOfReserves_d8866e11-7330-6a9a-9ba0-56d88707d8ec" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="loc_us-gaap_InventoryWorkInProcessNetOfReserves_a3451b87-a72a-9fff-128b-969b95aecb3a" 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_7eab44cf-1ea1-ca2a-420f-21f7b5343fc3" xlink:to="loc_us-gaap_InventoryWorkInProcessNetOfReserves_a3451b87-a72a-9fff-128b-969b95aecb3a" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_b077ba6e-d590-fd28-6cc4-ab52e924ed70" 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_7eab44cf-1ea1-ca2a-420f-21f7b5343fc3" xlink:to="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_b077ba6e-d590-fd28-6cc4-ab52e924ed70" 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/NewPronouncements" 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/StockBasedCompensationExpenseNonvestedRestrictedStockSharesActivityDetails" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_8712fd02-171c-5995-3f18-84e885c380b9" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_29919d14-72a3-6197-982a-3a6269f21038" 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_8712fd02-171c-5995-3f18-84e885c380b9" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_29919d14-72a3-6197-982a-3a6269f21038" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_c48cf597-7f94-3186-bb2a-448703ee500e" 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_8712fd02-171c-5995-3f18-84e885c380b9" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_c48cf597-7f94-3186-bb2a-448703ee500e" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_744a85ef-de6a-dc1b-540c-cd37e4ee0e8e" 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_8712fd02-171c-5995-3f18-84e885c380b9" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_744a85ef-de6a-dc1b-540c-cd37e4ee0e8e" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_bd3fb4a2-dba4-9f41-2b9f-30441850eb67" 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_8712fd02-171c-5995-3f18-84e885c380b9" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_bd3fb4a2-dba4-9f41-2b9f-30441850eb67" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent" xlink:label="loc_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_CABE671DD5FDD2CC69AB08E8947CC139" 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_8712fd02-171c-5995-3f18-84e885c380b9" xlink:to="loc_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_CABE671DD5FDD2CC69AB08E8947CC139" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_e076fca2-751d-53ee-27b4-64a5b6f5b217" 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_8712fd02-171c-5995-3f18-84e885c380b9" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_e076fca2-751d-53ee-27b4-64a5b6f5b217" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_223fd9c8-68e8-e433-7c40-f98b238e79de" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_86e61cf2-b7b2-e230-65f1-5a2b152f3a30" 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_223fd9c8-68e8-e433-7c40-f98b238e79de" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_86e61cf2-b7b2-e230-65f1-5a2b152f3a30" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:label="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_7b1369dd-f813-fe00-b292-96e275568f1b" 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_223fd9c8-68e8-e433-7c40-f98b238e79de" xlink:to="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_7b1369dd-f813-fe00-b292-96e275568f1b" 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>9
<FILENAME>cgnx-20180701_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-20180701.xsd#CashCashEquivalentsAndInvestments" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail" xlink:href="cgnx-20180701.xsd#CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsDetail" xlink:href="cgnx-20180701.xsd#CashCashEquivalentsAndInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail" xlink:href="cgnx-20180701.xsd#CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail" xlink:href="cgnx-20180701.xsd#CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail" xlink:href="cgnx-20180701.xsd#CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsTables" xlink:href="cgnx-20180701.xsd#CashCashEquivalentsAndInvestmentsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedBalanceSheets" xlink:href="cgnx-20180701.xsd#ConsolidatedBalanceSheets" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:href="cgnx-20180701.xsd#ConsolidatedBalanceSheetsParenthetical" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity" xlink:href="cgnx-20180701.xsd#ConsolidatedStatementOfShareholdersEquity" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquityParenthetical" xlink:href="cgnx-20180701.xsd#ConsolidatedStatementOfShareholdersEquityParenthetical" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows" xlink:href="cgnx-20180701.xsd#ConsolidatedStatementsOfCashFlows" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome" xlink:href="cgnx-20180701.xsd#ConsolidatedStatementsOfComprehensiveIncome" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncomeParenthetical" xlink:href="cgnx-20180701.xsd#ConsolidatedStatementsOfComprehensiveIncomeParenthetical" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementsOfOperations" xlink:href="cgnx-20180701.xsd#ConsolidatedStatementsOfOperations" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstruments" xlink:href="cgnx-20180701.xsd#DerivativeInstruments" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetail" xlink:href="cgnx-20180701.xsd#DerivativeInstrumentsDerivativeInstrumentsGainLossDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsDetail" xlink:href="cgnx-20180701.xsd#DerivativeInstrumentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetail" xlink:href="cgnx-20180701.xsd#DerivativeInstrumentsOffsettingAssetsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail" xlink:href="cgnx-20180701.xsd#DerivativeInstrumentsOutstandingForwardContractsTableDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail" xlink:href="cgnx-20180701.xsd#DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsTables" xlink:href="cgnx-20180701.xsd#DerivativeInstrumentsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DocumentAndEntityInformation" xlink:href="cgnx-20180701.xsd#DocumentAndEntityInformation" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/FairValueMeasurements" xlink:href="cgnx-20180701.xsd#FairValueMeasurements" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" xlink:href="cgnx-20180701.xsd#FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails" xlink:href="cgnx-20180701.xsd#FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/FairValueMeasurementsTables" xlink:href="cgnx-20180701.xsd#FairValueMeasurementsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/IntangibleAssets" xlink:href="cgnx-20180701.xsd#IntangibleAssets" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/IntangibleAssetsDetails" xlink:href="cgnx-20180701.xsd#IntangibleAssetsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/IntangibleAssetsTables" xlink:href="cgnx-20180701.xsd#IntangibleAssetsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/Inventories" xlink:href="cgnx-20180701.xsd#Inventories" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/InventoriesScheduleOfInventoriesDetail" xlink:href="cgnx-20180701.xsd#InventoriesScheduleOfInventoriesDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/InventoriesTables" xlink:href="cgnx-20180701.xsd#InventoriesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/NewPronouncements" xlink:href="cgnx-20180701.xsd#NewPronouncements" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpense" xlink:href="cgnx-20180701.xsd#StockBasedCompensationExpense" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseDetail" xlink:href="cgnx-20180701.xsd#StockBasedCompensationExpenseDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseNonvestedRestrictedStockSharesActivityDetails" xlink:href="cgnx-20180701.xsd#StockBasedCompensationExpenseNonvestedRestrictedStockSharesActivityDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsDetail" xlink:href="cgnx-20180701.xsd#StockBasedCompensationExpenseScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" xlink:href="cgnx-20180701.xsd#StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseTables" xlink:href="cgnx-20180701.xsd#StockBasedCompensationExpenseTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail" xlink:href="cgnx-20180701.xsd#StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockRepurchaseProgram" xlink:href="cgnx-20180701.xsd#StockRepurchaseProgram" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockRepurchaseProgramDetail" xlink:href="cgnx-20180701.xsd#StockRepurchaseProgramDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/SubsequentEvents" xlink:href="cgnx-20180701.xsd#SubsequentEvents" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/SubsequentEventsDetails" xlink:href="cgnx-20180701.xsd#SubsequentEventsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/SummaryOfSignificantAccountingPolicies" xlink:href="cgnx-20180701.xsd#SummaryOfSignificantAccountingPolicies" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/SummaryOfSignificantAccountingPoliciesPolicies" xlink:href="cgnx-20180701.xsd#SummaryOfSignificantAccountingPoliciesPolicies" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/Taxes" xlink:href="cgnx-20180701.xsd#Taxes" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/TaxesDetail" xlink:href="cgnx-20180701.xsd#TaxesDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail" xlink:href="cgnx-20180701.xsd#TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/TaxesTables" xlink:href="cgnx-20180701.xsd#TaxesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WarrantyObligations" xlink:href="cgnx-20180701.xsd#WarrantyObligations" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WarrantyObligationsChangesInWarrantyObligationsDetail" xlink:href="cgnx-20180701.xsd#WarrantyObligationsChangesInWarrantyObligationsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WarrantyObligationsTables" xlink:href="cgnx-20180701.xsd#WarrantyObligationsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WeightedAverageShares" xlink:href="cgnx-20180701.xsd#WeightedAverageShares" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WeightedAverageSharesCalculationOfWeightedAverageSharesDetail" xlink:href="cgnx-20180701.xsd#WeightedAverageSharesCalculationOfWeightedAverageSharesDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WeightedAverageSharesDetail" xlink:href="cgnx-20180701.xsd#WeightedAverageSharesDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WeightedAverageSharesTables" xlink:href="cgnx-20180701.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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_23890B598E976BD42EB1ADCB50535275" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesTable" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_F5C6B294439D35C664ABADCB50516388" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_23890B598E976BD42EB1ADCB50535275" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_F5C6B294439D35C664ABADCB50516388" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_93C5A735A0D5DC1EA887ADCB5051FE2F" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_F5C6B294439D35C664ABADCB50516388" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_93C5A735A0D5DC1EA887ADCB5051FE2F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_29990416251CA2D29CE6ADCB5051DC71_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_93C5A735A0D5DC1EA887ADCB5051FE2F" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_29990416251CA2D29CE6ADCB5051DC71_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_29990416251CA2D29CE6ADCB5051DC71" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_93C5A735A0D5DC1EA887ADCB5051FE2F" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_29990416251CA2D29CE6ADCB5051DC71" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_USTreasurySecuritiesMember" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_B36221E3938A1194460BADCB505239F2" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_29990416251CA2D29CE6ADCB5051DC71" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_B36221E3938A1194460BADCB505239F2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CorporateBondSecuritiesMember" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_5A697FF64967183477BEADCB505211D3" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_29990416251CA2D29CE6ADCB5051DC71" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_5A697FF64967183477BEADCB505211D3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AssetBackedSecuritiesMember" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_F160D6AD9148B3A23E1BADCB50528000" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_29990416251CA2D29CE6ADCB5051DC71" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_F160D6AD9148B3A23E1BADCB50528000" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SovereignDebtSecuritiesMember" xlink:label="loc_us-gaap_SovereignDebtSecuritiesMember_CF5718C8401048747AEDADCB50521D53" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_29990416251CA2D29CE6ADCB5051DC71" xlink:to="loc_us-gaap_SovereignDebtSecuritiesMember_CF5718C8401048747AEDADCB50521D53" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_AgencyBondsMember" xlink:label="loc_cgnx_AgencyBondsMember_747BBEE23E919D90C22FADCB5053D675" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_29990416251CA2D29CE6ADCB5051DC71" xlink:to="loc_cgnx_AgencyBondsMember_747BBEE23E919D90C22FADCB5053D675" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MunicipalBondsMember" xlink:label="loc_us-gaap_MunicipalBondsMember_9BECB1AD36777DE5DF04ADCB50532AD0" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_29990416251CA2D29CE6ADCB5051DC71" xlink:to="loc_us-gaap_MunicipalBondsMember_9BECB1AD36777DE5DF04ADCB50532AD0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_Cash" xlink:label="loc_us-gaap_Cash_6DEC40A0C500C135A9E6ADCB5053C785" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_23890B598E976BD42EB1ADCB50535275" xlink:to="loc_us-gaap_Cash_6DEC40A0C500C135A9E6ADCB5053C785" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MoneyMarketFundsAtCarryingValue" xlink:label="loc_us-gaap_MoneyMarketFundsAtCarryingValue_68A5E04EAC5F6CC80CC3ADCB50533D27" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_23890B598E976BD42EB1ADCB50535275" xlink:to="loc_us-gaap_MoneyMarketFundsAtCarryingValue_68A5E04EAC5F6CC80CC3ADCB50533D27" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_D3CCEE812B0FE9CC7D36ADCB50532344" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_23890B598E976BD42EB1ADCB50535275" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_D3CCEE812B0FE9CC7D36ADCB50532344" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_AE162099E871BACF9D56ADCB5053D1C2" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_23890B598E976BD42EB1ADCB50535275" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_AE162099E871BACF9D56ADCB5053D1C2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_A493D711D2F68AF8B600ADCB5054862A" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_23890B598E976BD42EB1ADCB50535275" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_A493D711D2F68AF8B600ADCB5054862A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LongTermInvestments" xlink:label="loc_us-gaap_LongTermInvestments_FDC6CF8E4F1FE67718C3ADCB505496B4" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_23890B598E976BD42EB1ADCB50535275" xlink:to="loc_us-gaap_LongTermInvestments_FDC6CF8E4F1FE67718C3ADCB505496B4" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_CashCashEquivalentsShortTermAndLongTermInvestments" xlink:label="loc_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_076689E9640DB8196644ADCB5054FA55" xlink:type="locator" />
    <link:definitionArc order="7" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_23890B598E976BD42EB1ADCB50535275" xlink:to="loc_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_076689E9640DB8196644ADCB5054FA55" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_FEB8F195F2E2041125D1ADCB9E1BA7AC" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesTable" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_DBA933C7A6194362D306ADCB9E1929DB" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_FEB8F195F2E2041125D1ADCB9E1BA7AC" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_DBA933C7A6194362D306ADCB9E1929DB" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_DCF391A023DE0AEB75EAADCB9E1993F1" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_DBA933C7A6194362D306ADCB9E1929DB" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_DCF391A023DE0AEB75EAADCB9E1993F1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_41906E8739CF7968231CADCB9E193F8A_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_DCF391A023DE0AEB75EAADCB9E1993F1" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_41906E8739CF7968231CADCB9E193F8A_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_41906E8739CF7968231CADCB9E193F8A" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_DCF391A023DE0AEB75EAADCB9E1993F1" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_41906E8739CF7968231CADCB9E193F8A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CorporateBondSecuritiesMember" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_54381C55A7BB2EC42915ADCB9E1AE152" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_41906E8739CF7968231CADCB9E193F8A" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_54381C55A7BB2EC42915ADCB9E1AE152" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_USTreasurySecuritiesMember" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_708DA303D98E6FEA7C76ADCB9E1A8EB3" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_41906E8739CF7968231CADCB9E193F8A" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_708DA303D98E6FEA7C76ADCB9E1A8EB3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AssetBackedSecuritiesMember" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_44AAD6D23DAACCCD6FC3ADCB9E1A9C45" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_41906E8739CF7968231CADCB9E193F8A" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_44AAD6D23DAACCCD6FC3ADCB9E1A9C45" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SovereignDebtSecuritiesMember" xlink:label="loc_us-gaap_SovereignDebtSecuritiesMember_18B53EC4B73AAE210167ADCB9E1A9BD7" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_41906E8739CF7968231CADCB9E193F8A" xlink:to="loc_us-gaap_SovereignDebtSecuritiesMember_18B53EC4B73AAE210167ADCB9E1A9BD7" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_AgencyBondsMember" xlink:label="loc_cgnx_AgencyBondsMember_399B8069E1F537939062ADCB9E1A78C5" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_41906E8739CF7968231CADCB9E193F8A" xlink:to="loc_cgnx_AgencyBondsMember_399B8069E1F537939062ADCB9E1A78C5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MunicipalBondsMember" xlink:label="loc_us-gaap_MunicipalBondsMember_435463539EFAF03C1B98ADCB9E1B793A" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_41906E8739CF7968231CADCB9E193F8A" xlink:to="loc_us-gaap_MunicipalBondsMember_435463539EFAF03C1B98ADCB9E1B793A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_BA0E8C2C7138CAEBADB4ADCB9E1B817D" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_FEB8F195F2E2041125D1ADCB9E1BA7AC" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_BA0E8C2C7138CAEBADB4ADCB9E1B817D" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_3D7A7400B7ADC51EA94DADCB9E1BFF50" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_FEB8F195F2E2041125D1ADCB9E1BA7AC" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_3D7A7400B7ADC51EA94DADCB9E1BFF50" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_71207F2DC7BA43851500ADCB9E1BA1BB" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_FEB8F195F2E2041125D1ADCB9E1BA7AC" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_71207F2DC7BA43851500ADCB9E1BA1BB" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_8A169DFCD94514CBBD6CADCB9E1B50EA" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_FEB8F195F2E2041125D1ADCB9E1BA7AC" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_8A169DFCD94514CBBD6CADCB9E1B50EA" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_39F82D6B90C34CFE03DEADCB9E1C7329" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_FEB8F195F2E2041125D1ADCB9E1BA7AC" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_39F82D6B90C34CFE03DEADCB9E1C7329" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue_8CCF951CE0D80AF7F64DADCB9E1C3846" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_FEB8F195F2E2041125D1ADCB9E1BA7AC" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue_8CCF951CE0D80AF7F64DADCB9E1C3846" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_294B10EAFCC79F1F69AFADCB9E1C4689" xlink:type="locator" />
    <link:definitionArc order="7" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_FEB8F195F2E2041125D1ADCB9E1BA7AC" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_294B10EAFCC79F1F69AFADCB9E1C4689" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_5BB7C8E7C14789023F5E94A14F593902" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesTable" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_4E1D63386DADFEEDD70A94A14F554203" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_5BB7C8E7C14789023F5E94A14F593902" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_4E1D63386DADFEEDD70A94A14F554203" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_F15AE2C58228487234DC94A14F559D81" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_4E1D63386DADFEEDD70A94A14F554203" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_F15AE2C58228487234DC94A14F559D81" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_73970CDA415FD4DB96FC94A14F56C532_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_F15AE2C58228487234DC94A14F559D81" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_73970CDA415FD4DB96FC94A14F56C532_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_73970CDA415FD4DB96FC94A14F56C532" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_F15AE2C58228487234DC94A14F559D81" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_73970CDA415FD4DB96FC94A14F56C532" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_USTreasurySecuritiesMember" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_2FB30FC546281AFD05C894A14F5787F8" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_73970CDA415FD4DB96FC94A14F56C532" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_2FB30FC546281AFD05C894A14F5787F8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AssetBackedSecuritiesMember" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_5CC429EB98DD425AC6D394A14F581E32" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_73970CDA415FD4DB96FC94A14F56C532" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_5CC429EB98DD425AC6D394A14F581E32" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SovereignDebtSecuritiesMember" xlink:label="loc_us-gaap_SovereignDebtSecuritiesMember_04D21565544773643C7594A14F58753F" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_73970CDA415FD4DB96FC94A14F56C532" xlink:to="loc_us-gaap_SovereignDebtSecuritiesMember_04D21565544773643C7594A14F58753F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MunicipalBondsMember" xlink:label="loc_us-gaap_MunicipalBondsMember_4CDDE105AE206A4A420294A14F5887A8" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_73970CDA415FD4DB96FC94A14F56C532" xlink:to="loc_us-gaap_MunicipalBondsMember_4CDDE105AE206A4A420294A14F5887A8" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_AgencyBondsMember" xlink:label="loc_cgnx_AgencyBondsMember_17DD6DB03A6FF64BBF1C94A14F58725F" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_73970CDA415FD4DB96FC94A14F56C532" xlink:to="loc_cgnx_AgencyBondsMember_17DD6DB03A6FF64BBF1C94A14F58725F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CorporateBondSecuritiesMember" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_ABB924B0640298E33CDD94A14F583BFD" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_73970CDA415FD4DB96FC94A14F56C532" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_ABB924B0640298E33CDD94A14F583BFD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue_D7716D8286D9D614092C94A14F595B61" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_5BB7C8E7C14789023F5E94A14F593902" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue_D7716D8286D9D614092C94A14F595B61" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_9F9EA634200E924278DE94A14F597CEA" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_5BB7C8E7C14789023F5E94A14F593902" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_9F9EA634200E924278DE94A14F597CEA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue_EF2769B7B0A01EB60F0B94A14F5AA825" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_5BB7C8E7C14789023F5E94A14F593902" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue_EF2769B7B0A01EB60F0B94A14F5AA825" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_E577E676508A1620EE0594A14F5AAC23" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_5BB7C8E7C14789023F5E94A14F593902" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_E577E676508A1620EE0594A14F5AAC23" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_4718E8908DA3CF72CD5094A14F5A4BFC" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_5BB7C8E7C14789023F5E94A14F593902" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_4718E8908DA3CF72CD5094A14F5A4BFC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_F81F90911729169F375D94A14F5A76C7" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_5BB7C8E7C14789023F5E94A14F593902" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_F81F90911729169F375D94A14F5A76C7" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_D13A87AD90CD5460A0B1ADCBC5B2C9A0" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesTable" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_96009B6901367D9330D2ADCBC5AFE08C" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_D13A87AD90CD5460A0B1ADCBC5B2C9A0" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_96009B6901367D9330D2ADCBC5AFE08C" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_B51943541F8A7CAF0BEAADCBC5AFB719" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_96009B6901367D9330D2ADCBC5AFE08C" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_B51943541F8A7CAF0BEAADCBC5AFB719" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_94A7EB6AA60469412BD7ADCBC5AFC7D8_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_B51943541F8A7CAF0BEAADCBC5AFB719" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_94A7EB6AA60469412BD7ADCBC5AFC7D8_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_94A7EB6AA60469412BD7ADCBC5AFC7D8" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_B51943541F8A7CAF0BEAADCBC5AFB719" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_94A7EB6AA60469412BD7ADCBC5AFC7D8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_USTreasurySecuritiesMember" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_764AC5BA889D74EE093FADCBC5B03B5B" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_94A7EB6AA60469412BD7ADCBC5AFC7D8" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_764AC5BA889D74EE093FADCBC5B03B5B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CorporateBondSecuritiesMember" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_17E14741BA955611FF0FADCBC5B02E82" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_94A7EB6AA60469412BD7ADCBC5AFC7D8" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_17E14741BA955611FF0FADCBC5B02E82" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AssetBackedSecuritiesMember" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_34B21BD7F8938BAD71EFADCBC5B076BF" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_94A7EB6AA60469412BD7ADCBC5AFC7D8" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_34B21BD7F8938BAD71EFADCBC5B076BF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SovereignDebtSecuritiesMember" xlink:label="loc_us-gaap_SovereignDebtSecuritiesMember_DF964387E5770754E89EADCBC5B0A105" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_94A7EB6AA60469412BD7ADCBC5AFC7D8" xlink:to="loc_us-gaap_SovereignDebtSecuritiesMember_DF964387E5770754E89EADCBC5B0A105" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_AgencyBondsMember" xlink:label="loc_cgnx_AgencyBondsMember_2E6A5CFB6866A40323EAADCBC5B094CF" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_94A7EB6AA60469412BD7ADCBC5AFC7D8" xlink:to="loc_cgnx_AgencyBondsMember_2E6A5CFB6866A40323EAADCBC5B094CF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MunicipalBondsMember" xlink:label="loc_us-gaap_MunicipalBondsMember_4ACEABA1A60B644953E7ADCBC5B1BF43" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_94A7EB6AA60469412BD7ADCBC5AFC7D8" xlink:to="loc_us-gaap_MunicipalBondsMember_4ACEABA1A60B644953E7ADCBC5B1BF43" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InvestmentTypeAxis" xlink:label="loc_us-gaap_InvestmentTypeAxis_662FCFA535AB0118AC57ADCBC5B12EF9" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_96009B6901367D9330D2ADCBC5AFE08C" xlink:to="loc_us-gaap_InvestmentTypeAxis_662FCFA535AB0118AC57ADCBC5B12EF9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InvestmentTypeCategorizationMember" xlink:label="loc_us-gaap_InvestmentTypeCategorizationMember_DF53FC6938AD747D63ADADCBC5B131E3_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_InvestmentTypeAxis_662FCFA535AB0118AC57ADCBC5B12EF9" xlink:to="loc_us-gaap_InvestmentTypeCategorizationMember_DF53FC6938AD747D63ADADCBC5B131E3_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InvestmentTypeCategorizationMember" xlink:label="loc_us-gaap_InvestmentTypeCategorizationMember_DF53FC6938AD747D63ADADCBC5B131E3" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_InvestmentTypeAxis_662FCFA535AB0118AC57ADCBC5B12EF9" xlink:to="loc_us-gaap_InvestmentTypeCategorizationMember_DF53FC6938AD747D63ADADCBC5B131E3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShortTermInvestmentsMember" xlink:label="loc_us-gaap_ShortTermInvestmentsMember_664909E91E0AB399E984ADCBC5B1E416" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_InvestmentTypeCategorizationMember_DF53FC6938AD747D63ADADCBC5B131E3" xlink:to="loc_us-gaap_ShortTermInvestmentsMember_664909E91E0AB399E984ADCBC5B1E416" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_LongTermInvestmentsMember" xlink:label="loc_cgnx_LongTermInvestmentsMember_572FE0B275DB3A168DF3ADCBC5B19323" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_InvestmentTypeCategorizationMember_DF53FC6938AD747D63ADADCBC5B131E3" xlink:to="loc_cgnx_LongTermInvestmentsMember_572FE0B275DB3A168DF3ADCBC5B19323" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_88280209A8FD20D8BF15ADCBC5B2B073" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_D13A87AD90CD5460A0B1ADCBC5B2C9A0" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_88280209A8FD20D8BF15ADCBC5B2B073" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_FD2964B82C0745A90E73ADCBC5B7B95A" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_D13A87AD90CD5460A0B1ADCBC5B2C9A0" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_FD2964B82C0745A90E73ADCBC5B7B95A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_D3CDA6B73717980D7918ADCBC5B7B29A" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_D13A87AD90CD5460A0B1ADCBC5B2C9A0" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_D3CDA6B73717980D7918ADCBC5B7B29A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecurities" xlink:label="loc_us-gaap_AvailableForSaleSecurities_989F9EF4EB3977B706C4ADCBC5B79BB6" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_D13A87AD90CD5460A0B1ADCBC5B2C9A0" xlink:to="loc_us-gaap_AvailableForSaleSecurities_989F9EF4EB3977B706C4ADCBC5B79BB6" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_CDDEC2DC1BA5ED49F1D3B9079399FF4A" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_25D2182AFAB3625F0F84B907939824D9" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_StatementLineItems_CDDEC2DC1BA5ED49F1D3B9079399FF4A" xlink:to="loc_us-gaap_StatementTable_25D2182AFAB3625F0F84B907939824D9" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_80D4E2F91DDA8363C64BB9079398B009" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_StatementTable_25D2182AFAB3625F0F84B907939824D9" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_80D4E2F91DDA8363C64BB9079398B009" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaap_EquityComponentDomain_29E49AC45DBC1EACD50FB9079398E72F_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_80D4E2F91DDA8363C64BB9079398B009" xlink:to="loc_us-gaap_EquityComponentDomain_29E49AC45DBC1EACD50FB9079398E72F_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaap_EquityComponentDomain_29E49AC45DBC1EACD50FB9079398E72F" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_80D4E2F91DDA8363C64BB9079398B009" xlink:to="loc_us-gaap_EquityComponentDomain_29E49AC45DBC1EACD50FB9079398E72F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaap_CommonStockMember_9BE23C8118B56147A1C6B90793988267" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_29E49AC45DBC1EACD50FB9079398E72F" xlink:to="loc_us-gaap_CommonStockMember_9BE23C8118B56147A1C6B90793988267" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember_254CB53D5D9254ACF25EB9079399D216" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_29E49AC45DBC1EACD50FB9079398E72F" xlink:to="loc_us-gaap_AdditionalPaidInCapitalMember_254CB53D5D9254ACF25EB9079399D216" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_RetainedEarningsMember" xlink:label="loc_us-gaap_RetainedEarningsMember_7D2F4A4A1B0E85B54585B90793998BD9" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_29E49AC45DBC1EACD50FB9079398E72F" xlink:to="loc_us-gaap_RetainedEarningsMember_7D2F4A4A1B0E85B54585B90793998BD9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_CEFB5DF6DB4472DEC8D5B9079399FA37" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityComponentDomain_29E49AC45DBC1EACD50FB9079398E72F" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_CEFB5DF6DB4472DEC8D5B9079399FA37" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_D74837379EBA0EAEC02AB907939AC260" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_StatementLineItems_CDDEC2DC1BA5ED49F1D3B9079399FF4A" xlink:to="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_D74837379EBA0EAEC02AB907939AC260" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaap_CommonStockSharesIssued_0F63C0E87BCB8EFA40D4B907939AEF8A" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_D74837379EBA0EAEC02AB907939AC260" xlink:to="loc_us-gaap_CommonStockSharesIssued_0F63C0E87BCB8EFA40D4B907939AEF8A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaap_StockholdersEquity_348E081D45BF0BFA1E58B907939A6483" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_D74837379EBA0EAEC02AB907939AC260" xlink:to="loc_us-gaap_StockholdersEquity_348E081D45BF0BFA1E58B907939A6483" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_CD497B7CA9F77FAE2F3BB907939A00AB" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_D74837379EBA0EAEC02AB907939AC260" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_CD497B7CA9F77FAE2F3BB907939A00AB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_7AB8D3964D01DFE38979B907939B55C4" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_D74837379EBA0EAEC02AB907939AC260" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_7AB8D3964D01DFE38979B907939B55C4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodShares_0FD1418E0FDD131EEBD9B907939B5226" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_D74837379EBA0EAEC02AB907939AC260" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodShares_0FD1418E0FDD131EEBD9B907939B5226" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodValue_278F38DE4A9225C9A66EB907939B97F7" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_D74837379EBA0EAEC02AB907939AC260" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodValue_278F38DE4A9225C9A66EB907939B97F7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_5E44C4DA09158A1E62F8B907939BDE58" xlink:type="locator" />
    <link:definitionArc order="7" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_D74837379EBA0EAEC02AB907939AC260" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_5E44C4DA09158A1E62F8B907939BDE58" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DividendsCash" xlink:label="loc_us-gaap_DividendsCash_CAC498A92EA2FD45B910B907939B1CB4" xlink:type="locator" />
    <link:definitionArc order="8" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_D74837379EBA0EAEC02AB907939AC260" xlink:to="loc_us-gaap_DividendsCash_CAC498A92EA2FD45B910B907939B1CB4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption" xlink:label="loc_us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption_2764EBEAD6803A175683B907939C4A6B" xlink:type="locator" />
    <link:definitionArc order="9" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_D74837379EBA0EAEC02AB907939AC260" xlink:to="loc_us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption_2764EBEAD6803A175683B907939C4A6B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_BD059AA7828906F1DC01B907939C64F5" xlink:type="locator" />
    <link:definitionArc order="10" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_D74837379EBA0EAEC02AB907939AC260" xlink:to="loc_us-gaap_NetIncomeLoss_BD059AA7828906F1DC01B907939C64F5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_E14CBD263F7F03B18920B907939CF40F" xlink:type="locator" />
    <link:definitionArc order="11" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_D74837379EBA0EAEC02AB907939AC260" xlink:to="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_E14CBD263F7F03B18920B907939CF40F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_4D678267E19586E2C8E0B907939CFD3F" xlink:type="locator" />
    <link:definitionArc order="12" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_D74837379EBA0EAEC02AB907939AC260" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_4D678267E19586E2C8E0B907939CFD3F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_D1D22D363623F19E87F5B907939CD907" xlink:type="locator" />
    <link:definitionArc order="13" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_D74837379EBA0EAEC02AB907939AC260" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_D1D22D363623F19E87F5B907939CD907" 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/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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossLineItems" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_3445383BDF6221A23CFFA9F25CE0748E" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_6E7ED3AD08E981306320A9F25CDD38B0" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_3445383BDF6221A23CFFA9F25CE0748E" xlink:to="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_6E7ED3AD08E981306320A9F25CDD38B0" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_HedgingDesignationAxis" xlink:label="loc_us-gaap_HedgingDesignationAxis_61D6BB22716566C7616FA9F25CDE1407" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_6E7ED3AD08E981306320A9F25CDD38B0" xlink:to="loc_us-gaap_HedgingDesignationAxis_61D6BB22716566C7616FA9F25CDE1407" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_78371F15E1BB07F692E6A9F25CDE2104_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_HedgingDesignationAxis_61D6BB22716566C7616FA9F25CDE1407" xlink:to="loc_us-gaap_HedgingDesignationDomain_78371F15E1BB07F692E6A9F25CDE2104_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_78371F15E1BB07F692E6A9F25CDE2104" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_HedgingDesignationAxis_61D6BB22716566C7616FA9F25CDE1407" xlink:to="loc_us-gaap_HedgingDesignationDomain_78371F15E1BB07F692E6A9F25CDE2104" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DesignatedAsHedgingInstrumentMember" xlink:label="loc_us-gaap_DesignatedAsHedgingInstrumentMember_419BF46B47DB77A8256CA9F25CDEED48" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_HedgingDesignationDomain_78371F15E1BB07F692E6A9F25CDE2104" xlink:to="loc_us-gaap_DesignatedAsHedgingInstrumentMember_419BF46B47DB77A8256CA9F25CDEED48" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NondesignatedMember" xlink:label="loc_us-gaap_NondesignatedMember_97BE4CCB7E6336FC9D42A9F25CDFAFD4" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_HedgingDesignationDomain_78371F15E1BB07F692E6A9F25CDE2104" xlink:to="loc_us-gaap_NondesignatedMember_97BE4CCB7E6336FC9D42A9F25CDFAFD4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_890F9E11DBC7C4F215C3A9F25CDFC09B" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_6E7ED3AD08E981306320A9F25CDD38B0" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_890F9E11DBC7C4F215C3A9F25CDFC09B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_FA078DF786158A94AC49A9F25CDFC2E2_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_890F9E11DBC7C4F215C3A9F25CDFC09B" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_FA078DF786158A94AC49A9F25CDFC2E2_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_FA078DF786158A94AC49A9F25CDFC2E2" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_890F9E11DBC7C4F215C3A9F25CDFC09B" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_FA078DF786158A94AC49A9F25CDFC2E2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CashFlowHedgingMember" xlink:label="loc_us-gaap_CashFlowHedgingMember_71D763B64C5B8F9EABF5A9F25CDF929C" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_FA078DF786158A94AC49A9F25CDFC2E2" xlink:to="loc_us-gaap_CashFlowHedgingMember_71D763B64C5B8F9EABF5A9F25CDF929C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SalesRevenueGoodsNetMember" xlink:label="loc_us-gaap_SalesRevenueGoodsNetMember_EF4E2451D3F363F95F71A9F25CDF1447" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_FA078DF786158A94AC49A9F25CDFC2E2" xlink:to="loc_us-gaap_SalesRevenueGoodsNetMember_EF4E2451D3F363F95F71A9F25CDF1447" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpenseMember_2868C8F36877596E08A7A9F25CE032BF" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_FA078DF786158A94AC49A9F25CDFC2E2" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpenseMember_2868C8F36877596E08A7A9F25CE032BF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_GeneralAndAdministrativeExpenseMember" xlink:label="loc_us-gaap_GeneralAndAdministrativeExpenseMember_0DCC4DDF477A565ABC59A9F25CE0C4D3" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_FA078DF786158A94AC49A9F25CDFC2E2" xlink:to="loc_us-gaap_GeneralAndAdministrativeExpenseMember_0DCC4DDF477A565ABC59A9F25CE0C4D3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ForeignCurrencyGainLossMember" xlink:label="loc_us-gaap_ForeignCurrencyGainLossMember_16BF606423BA9911610DA9F25CE00F1B" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_FA078DF786158A94AC49A9F25CDFC2E2" xlink:to="loc_us-gaap_ForeignCurrencyGainLossMember_16BF606423BA9911610DA9F25CE00F1B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet_835651DE86347C4A78C0A9F25CE07E48" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_3445383BDF6221A23CFFA9F25CE0748E" xlink:to="loc_us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet_835651DE86347C4A78C0A9F25CE07E48" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet_A3DE09D2EEDB48B79ABFA9F25CE01784" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_3445383BDF6221A23CFFA9F25CE0748E" xlink:to="loc_us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet_A3DE09D2EEDB48B79ABFA9F25CE01784" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_35A01ACC1932F0DC7AC7A9F25CE144A4" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_3445383BDF6221A23CFFA9F25CE0748E" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_35A01ACC1932F0DC7AC7A9F25CE144A4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet_E022F279FB1FE2451DD7AA24CC986A2A" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_3445383BDF6221A23CFFA9F25CE0748E" xlink:to="loc_us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet_E022F279FB1FE2451DD7AA24CC986A2A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeGainLossOnDerivativeNet" xlink:label="loc_us-gaap_DerivativeGainLossOnDerivativeNet_318833750F4F071D9C07A9F25CE1BEBF" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_3445383BDF6221A23CFFA9F25CE0748E" xlink:to="loc_us-gaap_DerivativeGainLossOnDerivativeNet_318833750F4F071D9C07A9F25CE1BEBF" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_C1310D3C91DF421D1B9D94A15082BF93" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_DC44BE2FDF7E6D4B3E1C94A15080E1A7" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_C1310D3C91DF421D1B9D94A15082BF93" xlink:to="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_DC44BE2FDF7E6D4B3E1C94A15080E1A7" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_HedgingDesignationAxis" xlink:label="loc_us-gaap_HedgingDesignationAxis_71BB0A82FBFC46CA4C3994A15081118D" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_DC44BE2FDF7E6D4B3E1C94A15080E1A7" xlink:to="loc_us-gaap_HedgingDesignationAxis_71BB0A82FBFC46CA4C3994A15081118D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_93FA2F815A92B6F4CEB094A15081D299_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_HedgingDesignationAxis_71BB0A82FBFC46CA4C3994A15081118D" xlink:to="loc_us-gaap_HedgingDesignationDomain_93FA2F815A92B6F4CEB094A15081D299_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_93FA2F815A92B6F4CEB094A15081D299" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_HedgingDesignationAxis_71BB0A82FBFC46CA4C3994A15081118D" xlink:to="loc_us-gaap_HedgingDesignationDomain_93FA2F815A92B6F4CEB094A15081D299" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DesignatedAsHedgingInstrumentMember" xlink:label="loc_us-gaap_DesignatedAsHedgingInstrumentMember_C46B3060D14A583E0A7A94A15081F819" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_HedgingDesignationDomain_93FA2F815A92B6F4CEB094A15081D299" xlink:to="loc_us-gaap_DesignatedAsHedgingInstrumentMember_C46B3060D14A583E0A7A94A15081F819" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NondesignatedMember" xlink:label="loc_us-gaap_NondesignatedMember_323B8D8086CDD705774094A15082F8CC" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_HedgingDesignationDomain_93FA2F815A92B6F4CEB094A15081D299" xlink:to="loc_us-gaap_NondesignatedMember_323B8D8086CDD705774094A15082F8CC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeNumberOfInstrumentsHeld" xlink:label="loc_us-gaap_DerivativeNumberOfInstrumentsHeld_66622E721DF616A42FE794A15082AAF7" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_C1310D3C91DF421D1B9D94A15082BF93" xlink:to="loc_us-gaap_DerivativeNumberOfInstrumentsHeld_66622E721DF616A42FE794A15082AAF7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1" xlink:label="loc_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1_0FF7DDC646EE15F780D994A15082E22A" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_C1310D3C91DF421D1B9D94A15082BF93" xlink:to="loc_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1_0FF7DDC646EE15F780D994A15082E22A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MaximumLengthOfTimeHedgedInCashFlowHedge1" xlink:label="loc_us-gaap_MaximumLengthOfTimeHedgedInCashFlowHedge1_D661A1C4EE2543382CA294A150832926" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_C1310D3C91DF421D1B9D94A15082BF93" xlink:to="loc_us-gaap_MaximumLengthOfTimeHedgedInCashFlowHedge1_D661A1C4EE2543382CA294A150832926" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeLineItems" xlink:label="loc_us-gaap_DerivativeLineItems_D2A3BC1A8885B2E0D34CB895CDFDCB77" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeTable" xlink:label="loc_us-gaap_DerivativeTable_F9ADDFB8E477FDFD3263B895CDFAAC03" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DerivativeLineItems_D2A3BC1A8885B2E0D34CB895CDFDCB77" xlink:to="loc_us-gaap_DerivativeTable_F9ADDFB8E477FDFD3263B895CDFAAC03" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_HedgingDesignationAxis" xlink:label="loc_us-gaap_HedgingDesignationAxis_356F57F7480DE23214B2B895CDFA93AD" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DerivativeTable_F9ADDFB8E477FDFD3263B895CDFAAC03" xlink:to="loc_us-gaap_HedgingDesignationAxis_356F57F7480DE23214B2B895CDFA93AD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_F7A8F5D8826D9CBFD3D1B895CDFBC3D7_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_HedgingDesignationAxis_356F57F7480DE23214B2B895CDFA93AD" xlink:to="loc_us-gaap_HedgingDesignationDomain_F7A8F5D8826D9CBFD3D1B895CDFBC3D7_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_F7A8F5D8826D9CBFD3D1B895CDFBC3D7" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_HedgingDesignationAxis_356F57F7480DE23214B2B895CDFA93AD" xlink:to="loc_us-gaap_HedgingDesignationDomain_F7A8F5D8826D9CBFD3D1B895CDFBC3D7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DesignatedAsHedgingInstrumentMember" xlink:label="loc_us-gaap_DesignatedAsHedgingInstrumentMember_A3268A22501B824B56BFB895CDFB3490" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_HedgingDesignationDomain_F7A8F5D8826D9CBFD3D1B895CDFBC3D7" xlink:to="loc_us-gaap_DesignatedAsHedgingInstrumentMember_A3268A22501B824B56BFB895CDFB3490" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NondesignatedMember" xlink:label="loc_us-gaap_NondesignatedMember_C303B51B7916579435A8B895CDFB9CBF" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_HedgingDesignationDomain_F7A8F5D8826D9CBFD3D1B895CDFBC3D7" xlink:to="loc_us-gaap_NondesignatedMember_C303B51B7916579435A8B895CDFB9CBF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CurrencyAxis" xlink:label="loc_us-gaap_CurrencyAxis_6D69C9DE0D2706564508B895CDFB3F29" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_DerivativeTable_F9ADDFB8E477FDFD3263B895CDFAAC03" xlink:to="loc_us-gaap_CurrencyAxis_6D69C9DE0D2706564508B895CDFB3F29" 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_864C29575A1E7AD3C1EEB895CDFCCFAA_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_CurrencyAxis_6D69C9DE0D2706564508B895CDFB3F29" xlink:to="loc_currency_AllCurrenciesDomain_864C29575A1E7AD3C1EEB895CDFCCFAA_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_864C29575A1E7AD3C1EEB895CDFCCFAA" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_CurrencyAxis_6D69C9DE0D2706564508B895CDFB3F29" xlink:to="loc_currency_AllCurrenciesDomain_864C29575A1E7AD3C1EEB895CDFCCFAA" 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_C02D17D3239F1D69E650B895CDFCA1AD" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_currency_AllCurrenciesDomain_864C29575A1E7AD3C1EEB895CDFCCFAA" xlink:to="loc_currency_EUR_C02D17D3239F1D69E650B895CDFCA1AD" 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_A225D1E2E1EE747D89C7B895CDFC29A5" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_currency_AllCurrenciesDomain_864C29575A1E7AD3C1EEB895CDFCCFAA" xlink:to="loc_currency_JPY_A225D1E2E1EE747D89C7B895CDFC29A5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_CHF" xlink:label="loc_currency_CHF_088E4A908ED48D949AD4B895CDFCD6A5" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_currency_AllCurrenciesDomain_864C29575A1E7AD3C1EEB895CDFCCFAA" xlink:to="loc_currency_CHF_088E4A908ED48D949AD4B895CDFCD6A5" 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_9B958F0444C83AF78E85B895CDFC74BA" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_currency_AllCurrenciesDomain_864C29575A1E7AD3C1EEB895CDFCCFAA" xlink:to="loc_currency_HUF_9B958F0444C83AF78E85B895CDFC74BA" 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_15E974AF420D44179A40B895CDFD2638" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_currency_AllCurrenciesDomain_864C29575A1E7AD3C1EEB895CDFCCFAA" xlink:to="loc_currency_GBP_15E974AF420D44179A40B895CDFD2638" 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_4B9E972B799690CE8700B895CDFD0247" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_currency_AllCurrenciesDomain_864C29575A1E7AD3C1EEB895CDFCCFAA" xlink:to="loc_currency_KRW_4B9E972B799690CE8700B895CDFD0247" 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_58EBD68878C8C1927FAAB895CDFD2F1F" xlink:type="locator" />
    <link:definitionArc order="7" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_currency_AllCurrenciesDomain_864C29575A1E7AD3C1EEB895CDFCCFAA" xlink:to="loc_currency_TWD_58EBD68878C8C1927FAAB895CDFD2F1F" 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_1EA3C7C4E3B2FC1490BBB895CDFDBC97" xlink:type="locator" />
    <link:definitionArc order="8" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_currency_AllCurrenciesDomain_864C29575A1E7AD3C1EEB895CDFCCFAA" xlink:to="loc_currency_CAD_1EA3C7C4E3B2FC1490BBB895CDFDBC97" 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_A0BA21D5C9914EC01711B895CDFD58AA" xlink:type="locator" />
    <link:definitionArc order="9" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_currency_AllCurrenciesDomain_864C29575A1E7AD3C1EEB895CDFCCFAA" xlink:to="loc_currency_SGD_A0BA21D5C9914EC01711B895CDFD58AA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeAssetNotionalAmount" xlink:label="loc_us-gaap_DerivativeAssetNotionalAmount_2EC031E1CEB57CEE746DB895CDFEB2EF" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativeLineItems_D2A3BC1A8885B2E0D34CB895CDFDCB77" xlink:to="loc_us-gaap_DerivativeAssetNotionalAmount_2EC031E1CEB57CEE746DB895CDFEB2EF" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativesFairValueLineItems" xlink:label="loc_us-gaap_DerivativesFairValueLineItems_F866E7C02691809F3DA194A14EC094E4" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:label="loc_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_6E9EBC618BEB606B2EA094A14EBEC5F3" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_DerivativesFairValueLineItems_F866E7C02691809F3DA194A14EC094E4" xlink:to="loc_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_6E9EBC618BEB606B2EA094A14EBEC5F3" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_HedgingDesignationAxis" xlink:label="loc_us-gaap_HedgingDesignationAxis_89EC421086533562541E94A14EBE60EB" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_6E9EBC618BEB606B2EA094A14EBEC5F3" xlink:to="loc_us-gaap_HedgingDesignationAxis_89EC421086533562541E94A14EBE60EB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_BB4194D43AB7BF8A651A94A14EBE47B9_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_HedgingDesignationAxis_89EC421086533562541E94A14EBE60EB" xlink:to="loc_us-gaap_HedgingDesignationDomain_BB4194D43AB7BF8A651A94A14EBE47B9_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_BB4194D43AB7BF8A651A94A14EBE47B9" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_HedgingDesignationAxis_89EC421086533562541E94A14EBE60EB" xlink:to="loc_us-gaap_HedgingDesignationDomain_BB4194D43AB7BF8A651A94A14EBE47B9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DesignatedAsHedgingInstrumentMember" xlink:label="loc_us-gaap_DesignatedAsHedgingInstrumentMember_DF712067A7503CAA2DCF94A14EBE702C" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_HedgingDesignationDomain_BB4194D43AB7BF8A651A94A14EBE47B9" xlink:to="loc_us-gaap_DesignatedAsHedgingInstrumentMember_DF712067A7503CAA2DCF94A14EBE702C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NondesignatedMember" xlink:label="loc_us-gaap_NondesignatedMember_2102D4CB3B36B91DF82194A14EBFDA5E" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_HedgingDesignationDomain_BB4194D43AB7BF8A651A94A14EBE47B9" xlink:to="loc_us-gaap_NondesignatedMember_2102D4CB3B36B91DF82194A14EBFDA5E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="loc_us-gaap_BalanceSheetLocationAxis_F3D64ECFE13956921ADF94A14EBF6B9E" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_6E9EBC618BEB606B2EA094A14EBEC5F3" xlink:to="loc_us-gaap_BalanceSheetLocationAxis_F3D64ECFE13956921ADF94A14EBF6B9E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_5E3B74B486925A88CC5994A14EBF079C_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_F3D64ECFE13956921ADF94A14EBF6B9E" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_5E3B74B486925A88CC5994A14EBF079C_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_5E3B74B486925A88CC5994A14EBF079C" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_F3D64ECFE13956921ADF94A14EBF6B9E" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_5E3B74B486925A88CC5994A14EBF079C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" xlink:label="loc_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_8CC943FA5298F19D113194A14EC01666" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_5E3B74B486925A88CC5994A14EBF079C" xlink:to="loc_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_8CC943FA5298F19D113194A14EC01666" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_AccruedExpensesMember" xlink:label="loc_cgnx_AccruedExpensesMember_9006120977755E590CBB94A14EC0088A" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_5E3B74B486925A88CC5994A14EBF079C" xlink:to="loc_cgnx_AccruedExpensesMember_9006120977755E590CBB94A14EC0088A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeAssets" xlink:label="loc_us-gaap_DerivativeAssets_3F780B35BA986A5E2E1F94A14EC06D7A" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativesFairValueLineItems_F866E7C02691809F3DA194A14EC094E4" xlink:to="loc_us-gaap_DerivativeAssets_3F780B35BA986A5E2E1F94A14EC06D7A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeLiabilities" xlink:label="loc_us-gaap_DerivativeLiabilities_77D7B493BD6CE64503EF94A14EC19BC6" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_DerivativesFairValueLineItems_F866E7C02691809F3DA194A14EC094E4" xlink:to="loc_us-gaap_DerivativeLiabilities_77D7B493BD6CE64503EF94A14EC19BC6" 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/DocumentAndEntityInformation" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_DBCD3B503469121A0ABDADCBF777F4DE" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_8C30D1449E16EF62C245ADCBF773A238" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_DBCD3B503469121A0ABDADCBF777F4DE" xlink:to="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_8C30D1449E16EF62C245ADCBF773A238" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_B4BD3CF2FEDD48105ED0ADCBF774C9C2" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_8C30D1449E16EF62C245ADCBF773A238" xlink:to="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_B4BD3CF2FEDD48105ED0ADCBF774C9C2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_517EA8D04B7B0B325BA5ADCBF7741F12_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_B4BD3CF2FEDD48105ED0ADCBF774C9C2" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_517EA8D04B7B0B325BA5ADCBF7741F12_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_517EA8D04B7B0B325BA5ADCBF7741F12" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_B4BD3CF2FEDD48105ED0ADCBF774C9C2" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_517EA8D04B7B0B325BA5ADCBF7741F12" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueInputsLevel1Member" xlink:label="loc_us-gaap_FairValueInputsLevel1Member_2CC397A312196E34D459ADCBF77418E8" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_517EA8D04B7B0B325BA5ADCBF7741F12" xlink:to="loc_us-gaap_FairValueInputsLevel1Member_2CC397A312196E34D459ADCBF77418E8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="loc_us-gaap_FairValueInputsLevel2Member_814D37A583E8EDBBFA6BADCBF7753165" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_517EA8D04B7B0B325BA5ADCBF7741F12" xlink:to="loc_us-gaap_FairValueInputsLevel2Member_814D37A583E8EDBBFA6BADCBF7753165" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueInputsLevel3Member" xlink:label="loc_us-gaap_FairValueInputsLevel3Member_3B61E14A1CA6E3561ABCADCBF775BAAA" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_517EA8D04B7B0B325BA5ADCBF7741F12" xlink:to="loc_us-gaap_FairValueInputsLevel3Member_3B61E14A1CA6E3561ABCADCBF775BAAA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="loc_us-gaap_FairValueByMeasurementFrequencyAxis_D990C5AC6E32AD592BEFADCBF775B93E" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_8C30D1449E16EF62C245ADCBF773A238" xlink:to="loc_us-gaap_FairValueByMeasurementFrequencyAxis_D990C5AC6E32AD592BEFADCBF775B93E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain_87778A44B6E7ABB5BC24ADCBF77530D1_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis_D990C5AC6E32AD592BEFADCBF775B93E" xlink:to="loc_us-gaap_FairValueMeasurementFrequencyDomain_87778A44B6E7ABB5BC24ADCBF77530D1_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain_87778A44B6E7ABB5BC24ADCBF77530D1" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis_D990C5AC6E32AD592BEFADCBF775B93E" xlink:to="loc_us-gaap_FairValueMeasurementFrequencyDomain_87778A44B6E7ABB5BC24ADCBF77530D1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueMeasurementsRecurringMember" xlink:label="loc_us-gaap_FairValueMeasurementsRecurringMember_4E166737A8E566EB724EADCBF775DD9C" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementFrequencyDomain_87778A44B6E7ABB5BC24ADCBF77530D1" xlink:to="loc_us-gaap_FairValueMeasurementsRecurringMember_4E166737A8E566EB724EADCBF775DD9C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_95B463AC98EEFDDB1FD9ADCBF776068D" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_8C30D1449E16EF62C245ADCBF773A238" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_95B463AC98EEFDDB1FD9ADCBF776068D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_810C5C7B618048A16FD8ADCBF776C664_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_95B463AC98EEFDDB1FD9ADCBF776068D" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_810C5C7B618048A16FD8ADCBF776C664_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_810C5C7B618048A16FD8ADCBF776C664" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_95B463AC98EEFDDB1FD9ADCBF776068D" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_810C5C7B618048A16FD8ADCBF776C664" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CorporateBondSecuritiesMember" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_95A2C71A653C6EB1FAA8ADCBF7764B8D" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_810C5C7B618048A16FD8ADCBF776C664" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_95A2C71A653C6EB1FAA8ADCBF7764B8D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_USTreasurySecuritiesMember" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_75EAF793C40C7B4D2179ADCBF776D2A6" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_810C5C7B618048A16FD8ADCBF776C664" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_75EAF793C40C7B4D2179ADCBF776D2A6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AssetBackedSecuritiesMember" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_C82ED44576D0C243D3A3ADCBF776457C" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_810C5C7B618048A16FD8ADCBF776C664" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_C82ED44576D0C243D3A3ADCBF776457C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SovereignDebtSecuritiesMember" xlink:label="loc_us-gaap_SovereignDebtSecuritiesMember_D00D766C9DADCFAFBC7EADCBF777F986" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_810C5C7B618048A16FD8ADCBF776C664" xlink:to="loc_us-gaap_SovereignDebtSecuritiesMember_D00D766C9DADCFAFBC7EADCBF777F986" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_AgencyBondsMember" xlink:label="loc_cgnx_AgencyBondsMember_C1167F4C2F497EB73792ADCBF777B518" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_810C5C7B618048A16FD8ADCBF776C664" xlink:to="loc_cgnx_AgencyBondsMember_C1167F4C2F497EB73792ADCBF777B518" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MunicipalBondsMember" xlink:label="loc_us-gaap_MunicipalBondsMember_0EEAD734F0F4BC5F59F7ADCBF7773111" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_810C5C7B618048A16FD8ADCBF776C664" xlink:to="loc_us-gaap_MunicipalBondsMember_0EEAD734F0F4BC5F59F7ADCBF7773111" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AssetsFairValueDisclosureAbstract" xlink:label="loc_us-gaap_AssetsFairValueDisclosureAbstract_E30C511A84D33BBFD5D7ADCBF777F8B1" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_DBCD3B503469121A0ABDADCBF777F4DE" xlink:to="loc_us-gaap_AssetsFairValueDisclosureAbstract_E30C511A84D33BBFD5D7ADCBF777F8B1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MoneyMarketFundsAtCarryingValue" xlink:label="loc_us-gaap_MoneyMarketFundsAtCarryingValue_57D0C5E20E496D6A8A5EADCBF7788D2B" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsFairValueDisclosureAbstract_E30C511A84D33BBFD5D7ADCBF777F8B1" xlink:to="loc_us-gaap_MoneyMarketFundsAtCarryingValue_57D0C5E20E496D6A8A5EADCBF7788D2B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_9C975C80941669CD6B39ADCBF77845B4" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsFairValueDisclosureAbstract_E30C511A84D33BBFD5D7ADCBF777F8B1" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_9C975C80941669CD6B39ADCBF77845B4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ForeignCurrencyContractAssetFairValueDisclosure" xlink:label="loc_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_3AD41A68D1A2F2B38870ADCBF7787381" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_AssetsFairValueDisclosureAbstract_E30C511A84D33BBFD5D7ADCBF777F8B1" xlink:to="loc_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_3AD41A68D1A2F2B38870ADCBF7787381" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LiabilitiesFairValueDisclosureAbstract" xlink:label="loc_us-gaap_LiabilitiesFairValueDisclosureAbstract_3BDDFE74C927533EF229ADCBF778FBBC" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_DBCD3B503469121A0ABDADCBF777F4DE" xlink:to="loc_us-gaap_LiabilitiesFairValueDisclosureAbstract_3BDDFE74C927533EF229ADCBF778FBBC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure" xlink:label="loc_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_94D09988B91A5D6ED965ADCBF7781CEA" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesFairValueDisclosureAbstract_3BDDFE74C927533EF229ADCBF778FBBC" xlink:to="loc_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_94D09988B91A5D6ED965ADCBF7781CEA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationLiability_540CE1AC9F7ED64F2742ADCBF77E9961" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_LiabilitiesFairValueDisclosureAbstract_3BDDFE74C927533EF229ADCBF778FBBC" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationLiability_540CE1AC9F7ED64F2742ADCBF77E9961" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:label="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_A1B6E5CAE90CDA645178B895CE6E5098" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:label="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_89283E1F42F7A1DE54B2B895CE6B4090" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_A1B6E5CAE90CDA645178B895CE6E5098" xlink:to="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_89283E1F42F7A1DE54B2B895CE6B4090" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_EB41EA98BC663030E772B895CE6BE720" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_89283E1F42F7A1DE54B2B895CE6B4090" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_EB41EA98BC663030E772B895CE6BE720" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_CC3211FD51E6023E6DF6B895CE6BE73B_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_EB41EA98BC663030E772B895CE6BE720" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_CC3211FD51E6023E6DF6B895CE6BE73B_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_CC3211FD51E6023E6DF6B895CE6BE73B" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_EB41EA98BC663030E772B895CE6BE720" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_CC3211FD51E6023E6DF6B895CE6BE73B" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_ManateeWorksInc.Member" xlink:label="loc_cgnx_ManateeWorksInc.Member_CAA7B9FF98D5D88D39BBB895CE6CE4F5" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_CC3211FD51E6023E6DF6B895CE6BE73B" xlink:to="loc_cgnx_ManateeWorksInc.Member_CAA7B9FF98D5D88D39BBB895CE6CE4F5" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_GViVenturesInc.Member" xlink:label="loc_cgnx_GViVenturesInc.Member_5AE02E206D1A2E9F9022B895CE6CCF9F" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_CC3211FD51E6023E6DF6B895CE6BE73B" xlink:to="loc_cgnx_GViVenturesInc.Member_5AE02E206D1A2E9F9022B895CE6CCF9F" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_ChiaroTechnologiesLLCMember" xlink:label="loc_cgnx_ChiaroTechnologiesLLCMember_A89B99C398525D8E90B5B895CE6C3ED9" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_CC3211FD51E6023E6DF6B895CE6BE73B" xlink:to="loc_cgnx_ChiaroTechnologiesLLCMember_A89B99C398525D8E90B5B895CE6C3ED9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_2CDD957DEB753AF40DD1B895CE6C72F6" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_89283E1F42F7A1DE54B2B895CE6B4090" xlink:to="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_2CDD957DEB753AF40DD1B895CE6C72F6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_BDD48DE2A5884A55AC01B895CE6C4E8C_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_2CDD957DEB753AF40DD1B895CE6C72F6" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_BDD48DE2A5884A55AC01B895CE6C4E8C_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_BDD48DE2A5884A55AC01B895CE6C4E8C" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_2CDD957DEB753AF40DD1B895CE6C72F6" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_BDD48DE2A5884A55AC01B895CE6C4E8C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueInputsLevel3Member" xlink:label="loc_us-gaap_FairValueInputsLevel3Member_C632FC5F62440A6603FAB895CE6D02F5" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_BDD48DE2A5884A55AC01B895CE6C4E8C" xlink:to="loc_us-gaap_FairValueInputsLevel3Member_C632FC5F62440A6603FAB895CE6D02F5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="loc_us-gaap_FairValueByMeasurementFrequencyAxis_9D4400FBA4EDEF841B59B895CE6DD4EB" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_89283E1F42F7A1DE54B2B895CE6B4090" xlink:to="loc_us-gaap_FairValueByMeasurementFrequencyAxis_9D4400FBA4EDEF841B59B895CE6DD4EB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain_531E23A3C9BCECE7D99BB895CE6D4689_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis_9D4400FBA4EDEF841B59B895CE6DD4EB" xlink:to="loc_us-gaap_FairValueMeasurementFrequencyDomain_531E23A3C9BCECE7D99BB895CE6D4689_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain_531E23A3C9BCECE7D99BB895CE6D4689" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis_9D4400FBA4EDEF841B59B895CE6DD4EB" xlink:to="loc_us-gaap_FairValueMeasurementFrequencyDomain_531E23A3C9BCECE7D99BB895CE6D4689" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueMeasurementsRecurringMember" xlink:label="loc_us-gaap_FairValueMeasurementsRecurringMember_8BDB99865608C60010F6B895CE6D6273" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueMeasurementFrequencyDomain_531E23A3C9BCECE7D99BB895CE6D4689" xlink:to="loc_us-gaap_FairValueMeasurementsRecurringMember_8BDB99865608C60010F6B895CE6D6273" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" xlink:label="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_C05086378034297A5718B895CE6E7868" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_A1B6E5CAE90CDA645178B895CE6E5098" xlink:to="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_C05086378034297A5718B895CE6E7868" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LiabilitiesFairValueAdjustment" xlink:label="loc_us-gaap_LiabilitiesFairValueAdjustment_8ED57EB47611C1B56C1CB895CE6E20A3" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_A1B6E5CAE90CDA645178B895CE6E5098" xlink:to="loc_us-gaap_LiabilitiesFairValueAdjustment_8ED57EB47611C1B56C1CB895CE6E20A3" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_Paymentofcontingentconsideration" xlink:label="loc_cgnx_Paymentofcontingentconsideration_D8DDC5188C12B44EDABCB895CE6E7D53" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_A1B6E5CAE90CDA645178B895CE6E5098" xlink:to="loc_cgnx_Paymentofcontingentconsideration_D8DDC5188C12B44EDABCB895CE6E7D53" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_1103AB018EA5690ECFBCB895CE24354F" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_F79AC4FBBECE01900DD3B895CE222767" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_1103AB018EA5690ECFBCB895CE24354F" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_F79AC4FBBECE01900DD3B895CE222767" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_E3A338AD6F19EDE8701CB895CE230B21" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_F79AC4FBBECE01900DD3B895CE222767" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_E3A338AD6F19EDE8701CB895CE230B21" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_D7AE2E3479A591C03F55B895CE23540D_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_E3A338AD6F19EDE8701CB895CE230B21" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_D7AE2E3479A591C03F55B895CE23540D_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_D7AE2E3479A591C03F55B895CE23540D" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_E3A338AD6F19EDE8701CB895CE230B21" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_D7AE2E3479A591C03F55B895CE23540D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DistributionRightsMember" xlink:label="loc_us-gaap_DistributionRightsMember_44136E766B8D79179AE0B895CE23894B" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_D7AE2E3479A591C03F55B895CE23540D" xlink:to="loc_us-gaap_DistributionRightsMember_44136E766B8D79179AE0B895CE23894B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="loc_us-gaap_DevelopedTechnologyRightsMember_0881C53A2B458005CC9CB895CE23101F" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_D7AE2E3479A591C03F55B895CE23540D" xlink:to="loc_us-gaap_DevelopedTechnologyRightsMember_0881C53A2B458005CC9CB895CE23101F" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_CustomerContractsAndRelationshipsMember" xlink:label="loc_cgnx_CustomerContractsAndRelationshipsMember_1E9F3567316D6D0724F0B895CE24F367" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_D7AE2E3479A591C03F55B895CE23540D" xlink:to="loc_cgnx_CustomerContractsAndRelationshipsMember_1E9F3567316D6D0724F0B895CE24F367" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherIntangibleAssetsMember" xlink:label="loc_us-gaap_OtherIntangibleAssetsMember_0BD7837CBD8AD2489BE7B895CE24E43B" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_D7AE2E3479A591C03F55B895CE23540D" xlink:to="loc_us-gaap_OtherIntangibleAssetsMember_0BD7837CBD8AD2489BE7B895CE24E43B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross_EBB8A473CC41C4CA59D1B895CE24BB7B" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_1103AB018EA5690ECFBCB895CE24354F" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsGross_EBB8A473CC41C4CA59D1B895CE24BB7B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_5362584D98B62180EFBCB895CE241954" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_1103AB018EA5690ECFBCB895CE24354F" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_5362584D98B62180EFBCB895CE241954" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_42870DE02C5353F6E18AB895CE253329" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_1103AB018EA5690ECFBCB895CE24354F" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_42870DE02C5353F6E18AB895CE253329" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_5955204B82A88A686C76B8CC0D326BAA" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_1103AB018EA5690ECFBCB895CE24354F" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_5955204B82A88A686C76B8CC0D326BAA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_459AB15FD211CB401130B8C292206717" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_5955204B82A88A686C76B8CC0D326BAA" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_459AB15FD211CB401130B8C292206717" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_08D19164956E6945F218B8C292391FBD" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_5955204B82A88A686C76B8CC0D326BAA" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_08D19164956E6945F218B8C292391FBD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_C9781AA965D588B3652FB8C292582C81" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_5955204B82A88A686C76B8CC0D326BAA" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_C9781AA965D588B3652FB8C292582C81" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_7C13741B14F1D346126CB8C292708CC4" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_5955204B82A88A686C76B8CC0D326BAA" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_7C13741B14F1D346126CB8C292708CC4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_B55970C0D716721238D0B8C29288FE0E" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_5955204B82A88A686C76B8CC0D326BAA" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_B55970C0D716721238D0B8C29288FE0E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_DACD9DD166F882089E34B8C292A1B022" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_5955204B82A88A686C76B8CC0D326BAA" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_DACD9DD166F882089E34B8C292A1B022" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_822F25E5EB4843C9DE3BB8C292BD5912" xlink:type="locator" />
    <link:definitionArc order="7" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_5955204B82A88A686C76B8CC0D326BAA" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_822F25E5EB4843C9DE3BB8C292BD5912" 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/NewPronouncements" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_4F5055A8702268D24592AE19FC1CD803" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_8734124BC74200377618AE19FC1B2F9A" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_4F5055A8702268D24592AE19FC1CD803" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_8734124BC74200377618AE19FC1B2F9A" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaap_AwardTypeAxis_F5587A3183939D869236AE19FC1B9E5A" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_8734124BC74200377618AE19FC1B2F9A" xlink:to="loc_us-gaap_AwardTypeAxis_F5587A3183939D869236AE19FC1B9E5A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_BAA50F61EF48C8BB8394AE19FC1BFBDD_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_F5587A3183939D869236AE19FC1B9E5A" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_BAA50F61EF48C8BB8394AE19FC1BFBDD_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_BAA50F61EF48C8BB8394AE19FC1BFBDD" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_F5587A3183939D869236AE19FC1B9E5A" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_BAA50F61EF48C8BB8394AE19FC1BFBDD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="loc_us-gaap_EmployeeStockOptionMember_BB49879F467E635FF11DAE19FC1BEA82" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_BAA50F61EF48C8BB8394AE19FC1BFBDD" xlink:to="loc_us-gaap_EmployeeStockOptionMember_BB49879F467E635FF11DAE19FC1BEA82" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PlanNameAxis" xlink:label="loc_us-gaap_PlanNameAxis_4CB421F8878BECAF6A9FAE19FC1C50EE" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_8734124BC74200377618AE19FC1B2F9A" xlink:to="loc_us-gaap_PlanNameAxis_4CB421F8878BECAF6A9FAE19FC1C50EE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaap_PlanNameDomain_9C3CD238473E3D8FE9E1AE19FC1CA248_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_PlanNameAxis_4CB421F8878BECAF6A9FAE19FC1C50EE" xlink:to="loc_us-gaap_PlanNameDomain_9C3CD238473E3D8FE9E1AE19FC1CA248_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaap_PlanNameDomain_9C3CD238473E3D8FE9E1AE19FC1CA248" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_PlanNameAxis_4CB421F8878BECAF6A9FAE19FC1C50EE" xlink:to="loc_us-gaap_PlanNameDomain_9C3CD238473E3D8FE9E1AE19FC1CA248" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_GeneralStockOptionPlanMember" xlink:label="loc_cgnx_GeneralStockOptionPlanMember_9E4859D74C626493C28CAE19FC1C7CED" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_PlanNameDomain_9C3CD238473E3D8FE9E1AE19FC1CA248" xlink:to="loc_cgnx_GeneralStockOptionPlanMember_9E4859D74C626493C28CAE19FC1C7CED" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_6301EDA1C9A809B94D05AE19FC1D3AED" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_4F5055A8702268D24592AE19FC1CD803" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_6301EDA1C9A809B94D05AE19FC1D3AED" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_4F6DFCB7BBB05007F4EDAE19FC1DD010" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_4F5055A8702268D24592AE19FC1CD803" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_4F6DFCB7BBB05007F4EDAE19FC1DD010" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_ExpirationPeriodOfStockOptionPlan" xlink:label="loc_cgnx_ExpirationPeriodOfStockOptionPlan_A9ECF25E7DBC44F5A0BDAE19FC1DA266" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_4F5055A8702268D24592AE19FC1CD803" xlink:to="loc_cgnx_ExpirationPeriodOfStockOptionPlan_A9ECF25E7DBC44F5A0BDAE19FC1DA266" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_468B1059E2AEF87A99E8AE19FC1DCE1A" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_4F5055A8702268D24592AE19FC1CD803" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_468B1059E2AEF87A99E8AE19FC1DCE1A" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_NumberOfGroupsWithinEmployeePopulation" xlink:label="loc_cgnx_NumberOfGroupsWithinEmployeePopulation_4207886AAB676504979DAE19FC1DD28A" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_4F5055A8702268D24592AE19FC1CD803" xlink:to="loc_cgnx_NumberOfGroupsWithinEmployeePopulation_4207886AAB676504979DAE19FC1DD28A" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement" xlink:label="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_41208FDCAD3C5EA21EF6AE19FC1D4670" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_4F5055A8702268D24592AE19FC1CD803" xlink:to="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_41208FDCAD3C5EA21EF6AE19FC1D4670" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement" xlink:label="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_BDF8C2874AC69DD60D1EAE19FC1E1E7D" xlink:type="locator" />
    <link:definitionArc order="7" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_4F5055A8702268D24592AE19FC1CD803" xlink:to="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_BDF8C2874AC69DD60D1EAE19FC1E1E7D" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates" xlink:label="loc_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_EDF69F4D57A52498899AAE19FC1E0722" xlink:type="locator" />
    <link:definitionArc order="8" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_4F5055A8702268D24592AE19FC1CD803" xlink:to="loc_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_EDF69F4D57A52498899AAE19FC1E0722" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_1BB3693B2BB65CB19964AE19FC1E7157" xlink:type="locator" />
    <link:definitionArc order="9" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_4F5055A8702268D24592AE19FC1CD803" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_1BB3693B2BB65CB19964AE19FC1E7157" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue" xlink:label="loc_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_428DD7D2E54047923C24AE19FC1ED5F0" xlink:type="locator" />
    <link:definitionArc order="10" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_4F5055A8702268D24592AE19FC1CD803" xlink:to="loc_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_428DD7D2E54047923C24AE19FC1ED5F0" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue" xlink:label="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_8F7C820B6E3DC8670049AE19FC1EF411" xlink:type="locator" />
    <link:definitionArc order="11" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_4F5055A8702268D24592AE19FC1CD803" xlink:to="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_8F7C820B6E3DC8670049AE19FC1EF411" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_522C2F6CC4532955D636AE19FC1E82CD" xlink:type="locator" />
    <link:definitionArc order="12" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_4F5055A8702268D24592AE19FC1CD803" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_522C2F6CC4532955D636AE19FC1E82CD" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition" xlink:label="loc_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition_EC62D66A90DD257B81FEAE19FC1E4A4D" xlink:type="locator" />
    <link:definitionArc order="13" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_4F5055A8702268D24592AE19FC1CD803" xlink:to="loc_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition_EC62D66A90DD257B81FEAE19FC1E4A4D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_B503FE1BBF2621AC69ECAE19FC1F3FA8" xlink:type="locator" />
    <link:definitionArc order="14" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_4F5055A8702268D24592AE19FC1CD803" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_B503FE1BBF2621AC69ECAE19FC1F3FA8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_F35D3FCA14084DBA15C5AE19FC1F11C5" xlink:type="locator" />
    <link:definitionArc order="15" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_4F5055A8702268D24592AE19FC1CD803" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_F35D3FCA14084DBA15C5AE19FC1F11C5" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount" xlink:label="loc_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_85E087B4A1717D5B7025AE19FC1F7E05" xlink:type="locator" />
    <link:definitionArc order="16" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_4F5055A8702268D24592AE19FC1CD803" xlink:to="loc_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_85E087B4A1717D5B7025AE19FC1F7E05" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_Vestingperiodperformancebasedrestrictedstockyears" xlink:label="loc_cgnx_Vestingperiodperformancebasedrestrictedstockyears_80B50BFEA6ADF02F0157AE19FC1FE381" xlink:type="locator" />
    <link:definitionArc order="17" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_4F5055A8702268D24592AE19FC1CD803" xlink:to="loc_cgnx_Vestingperiodperformancebasedrestrictedstockyears_80B50BFEA6ADF02F0157AE19FC1FE381" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_Vestingperiodtimebasedrestrictedstockyears" xlink:label="loc_cgnx_Vestingperiodtimebasedrestrictedstockyears_AF6D25A7C71B88BEAACDAE19FC1F4FE2" xlink:type="locator" />
    <link:definitionArc order="18" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_4F5055A8702268D24592AE19FC1CD803" xlink:to="loc_cgnx_Vestingperiodtimebasedrestrictedstockyears_AF6D25A7C71B88BEAACDAE19FC1F4FE2" xlink:type="arc" />
  </link:definitionLink>
  <link:definitionLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpenseNonvestedRestrictedStockSharesActivityDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:label="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_A3C37FC2BAF1749C7E9FA9F25C779A3B" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_C38ABF825012F7EC7916A9F25C76784D" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_A3C37FC2BAF1749C7E9FA9F25C779A3B" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_C38ABF825012F7EC7916A9F25C76784D" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaap_AwardTypeAxis_E6EB2C9FCA075F5A52DEA9F25C768AB2" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_C38ABF825012F7EC7916A9F25C76784D" xlink:to="loc_us-gaap_AwardTypeAxis_E6EB2C9FCA075F5A52DEA9F25C768AB2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_31833E1A7D4C1AD8EBB0A9F25C76E2FD_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AwardTypeAxis_E6EB2C9FCA075F5A52DEA9F25C768AB2" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_31833E1A7D4C1AD8EBB0A9F25C76E2FD_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_31833E1A7D4C1AD8EBB0A9F25C76E2FD" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AwardTypeAxis_E6EB2C9FCA075F5A52DEA9F25C768AB2" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_31833E1A7D4C1AD8EBB0A9F25C76E2FD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_RestrictedStockMember" xlink:label="loc_us-gaap_RestrictedStockMember_4BC377364B95E2639E5DA9F25C77D16E" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_31833E1A7D4C1AD8EBB0A9F25C76E2FD" xlink:to="loc_us-gaap_RestrictedStockMember_4BC377364B95E2639E5DA9F25C77D16E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_9E0921D1CFD374EEC298A9F25C77C5DE" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_A3C37FC2BAF1749C7E9FA9F25C779A3B" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_9E0921D1CFD374EEC298A9F25C77C5DE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_8F2EC6D7063A18DDE7D9A9F25C77D75E" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_9E0921D1CFD374EEC298A9F25C77C5DE" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_8F2EC6D7063A18DDE7D9A9F25C77D75E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_0061ACC607A0BB6C00F7A9F25C774510" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_9E0921D1CFD374EEC298A9F25C77C5DE" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_0061ACC607A0BB6C00F7A9F25C774510" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_72F5C892769E27F535CAA9F25C78B59A" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_9E0921D1CFD374EEC298A9F25C77C5DE" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_72F5C892769E27F535CAA9F25C78B59A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_526AE0CB00263C38DA60A9F25C78465B" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_9E0921D1CFD374EEC298A9F25C77C5DE" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_526AE0CB00263C38DA60A9F25C78465B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_EC383F6FB956BCB1E168A9F25C78A2A1" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_A3C37FC2BAF1749C7E9FA9F25C779A3B" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_EC383F6FB956BCB1E168A9F25C78A2A1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_5EF3F7CBFCEDEAF55CE2A9F25C781847" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_EC383F6FB956BCB1E168A9F25C78A2A1" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_5EF3F7CBFCEDEAF55CE2A9F25C781847" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_AF42259899F978F1945DA9F25C787FE4" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_EC383F6FB956BCB1E168A9F25C78A2A1" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_AF42259899F978F1945DA9F25C787FE4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_7B0D0348E525AADDC347A9F25C791FA5" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_EC383F6FB956BCB1E168A9F25C78A2A1" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_7B0D0348E525AADDC347A9F25C791FA5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_B4DE14ACF8AD117D64A6A9F25C79A167" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_EC383F6FB956BCB1E168A9F25C78A2A1" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_B4DE14ACF8AD117D64A6A9F25C79A167" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract_C4F555CD77BD58375678A9F25C7E3E5F" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_A3C37FC2BAF1749C7E9FA9F25C779A3B" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract_C4F555CD77BD58375678A9F25C7E3E5F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_DB26AC317E4CE4874F85A9F25C7E3BBB" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract_C4F555CD77BD58375678A9F25C7E3E5F" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_DB26AC317E4CE4874F85A9F25C7E3BBB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested_64923AA7979B9501B73EA9F25C7F377B" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract_C4F555CD77BD58375678A9F25C7E3E5F" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested_64923AA7979B9501B73EA9F25C7F377B" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_5DEBA24C4AB8AB14A86894A1502FF989" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_6117A8926AF211D7CD2094A1502DB49C" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_5DEBA24C4AB8AB14A86894A1502FF989" xlink:to="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_6117A8926AF211D7CD2094A1502DB49C" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_5C88D78D614989BCC19A94A1502EE7E0" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_6117A8926AF211D7CD2094A1502DB49C" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_5C88D78D614989BCC19A94A1502EE7E0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_9A0E5BC672D94C78C02D94A1502EDD64_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_5C88D78D614989BCC19A94A1502EE7E0" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_9A0E5BC672D94C78C02D94A1502EDD64_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_9A0E5BC672D94C78C02D94A1502EDD64" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_5C88D78D614989BCC19A94A1502EE7E0" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_9A0E5BC672D94C78C02D94A1502EDD64" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CostOfGoodsTotalMember" xlink:label="loc_us-gaap_CostOfGoodsTotalMember_F5880FAB2C7523D67D7D94A1502F7A28" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_9A0E5BC672D94C78C02D94A1502EDD64" xlink:to="loc_us-gaap_CostOfGoodsTotalMember_F5880FAB2C7523D67D7D94A1502F7A28" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpenseMember_EB806C288266F05846BA94A1502F356E" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_9A0E5BC672D94C78C02D94A1502EDD64" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpenseMember_EB806C288266F05846BA94A1502F356E" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_SellingGeneralAndAdministrativeMember" xlink:label="loc_cgnx_SellingGeneralAndAdministrativeMember_FEF514AB20A011E84DA594A1502F59D7" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_9A0E5BC672D94C78C02D94A1502EDD64" xlink:to="loc_cgnx_SellingGeneralAndAdministrativeMember_FEF514AB20A011E84DA594A1502F59D7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_829EFE4EAE551E0E52B294A150302BA2" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_5DEBA24C4AB8AB14A86894A1502FF989" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_829EFE4EAE551E0E52B294A150302BA2" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EquityClassOfTreasuryStockLineItems" xlink:label="loc_us-gaap_EquityClassOfTreasuryStockLineItems_DC611471ADB6CE1FFD1EAEE587BA14C0" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ClassOfTreasuryStockTable" xlink:label="loc_us-gaap_ClassOfTreasuryStockTable_192E49EE6A82973C7FB6AEE587B67943" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems_DC611471ADB6CE1FFD1EAEE587BA14C0" xlink:to="loc_us-gaap_ClassOfTreasuryStockTable_192E49EE6A82973C7FB6AEE587B67943" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareRepurchaseProgramAxis" xlink:label="loc_us-gaap_ShareRepurchaseProgramAxis_717D5F791E0AD8B0F417AEE587B8E2E9" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_ClassOfTreasuryStockTable_192E49EE6A82973C7FB6AEE587B67943" xlink:to="loc_us-gaap_ShareRepurchaseProgramAxis_717D5F791E0AD8B0F417AEE587B8E2E9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareRepurchaseProgramDomain" xlink:label="loc_us-gaap_ShareRepurchaseProgramDomain_1F84CEB00A3305715554AEE587B8954B_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_ShareRepurchaseProgramAxis_717D5F791E0AD8B0F417AEE587B8E2E9" xlink:to="loc_us-gaap_ShareRepurchaseProgramDomain_1F84CEB00A3305715554AEE587B8954B_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareRepurchaseProgramDomain" xlink:label="loc_us-gaap_ShareRepurchaseProgramDomain_1F84CEB00A3305715554AEE587B8954B" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_ShareRepurchaseProgramAxis_717D5F791E0AD8B0F417AEE587B8E2E9" xlink:to="loc_us-gaap_ShareRepurchaseProgramDomain_1F84CEB00A3305715554AEE587B8954B" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_RepurchaseProgramApril2017Member" xlink:label="loc_cgnx_RepurchaseProgramApril2017Member_A841CCD45B4889D1B149AEE587B99DEB" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareRepurchaseProgramDomain_1F84CEB00A3305715554AEE587B8954B" xlink:to="loc_cgnx_RepurchaseProgramApril2017Member_A841CCD45B4889D1B149AEE587B99DEB" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_RepurchaseProgramFebruary2018Member" xlink:label="loc_cgnx_RepurchaseProgramFebruary2018Member_8BD115F9AFFAEF47D67AAEE587B9103A" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareRepurchaseProgramDomain_1F84CEB00A3305715554AEE587B8954B" xlink:to="loc_cgnx_RepurchaseProgramFebruary2018Member_8BD115F9AFFAEF47D67AAEE587B9103A" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_RepurchaseProgramApril2017andFebruary2018Member" xlink:label="loc_cgnx_RepurchaseProgramApril2017andFebruary2018Member_D4F43D790DEBBF570F66AEE587BA9CBC" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_ShareRepurchaseProgramDomain_1F84CEB00A3305715554AEE587B8954B" xlink:to="loc_cgnx_RepurchaseProgramApril2017andFebruary2018Member_D4F43D790DEBBF570F66AEE587BA9CBC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:label="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1_373C6227CD334849F9A8AEE587BA9FCC" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems_DC611471ADB6CE1FFD1EAEE587BA14C0" xlink:to="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1_373C6227CD334849F9A8AEE587BA9FCC" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased" xlink:label="loc_cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased_2D17CD4CA2DB20B5F3C6AEE587BAB4C1" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems_DC611471ADB6CE1FFD1EAEE587BA14C0" xlink:to="loc_cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased_2D17CD4CA2DB20B5F3C6AEE587BAB4C1" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_StockRepurchaseProgramValue" xlink:label="loc_cgnx_StockRepurchaseProgramValue_13CE4624D74A1EE2E2A0AEE587BA8B72" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems_DC611471ADB6CE1FFD1EAEE587BA14C0" xlink:to="loc_cgnx_StockRepurchaseProgramValue_13CE4624D74A1EE2E2A0AEE587BA8B72" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodShares_1446200E91D9F48CC9FCAEE587BB03C6" xlink:type="locator" />
    <link:definitionArc order="4" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems_DC611471ADB6CE1FFD1EAEE587BA14C0" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodShares_1446200E91D9F48CC9FCAEE587BB03C6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodValue_F016FB8406FB9E1C0DE9AEE587BB5806" xlink:type="locator" />
    <link:definitionArc order="5" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems_DC611471ADB6CE1FFD1EAEE587BA14C0" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodValue_F016FB8406FB9E1C0DE9AEE587BB5806" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:label="loc_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_71EE2082858261233D10AEE587BB37C8" xlink:type="locator" />
    <link:definitionArc order="6" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems_DC611471ADB6CE1FFD1EAEE587BA14C0" xlink:to="loc_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_71EE2082858261233D10AEE587BB37C8" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SubsequentEventLineItems" xlink:label="loc_us-gaap_SubsequentEventLineItems_AEA98E8CD616062BC703A9F25B8FDE2B" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SubsequentEventTable" xlink:label="loc_us-gaap_SubsequentEventTable_D67086646D42B1C05232A9F25B8EC51D" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_SubsequentEventLineItems_AEA98E8CD616062BC703A9F25B8FDE2B" xlink:to="loc_us-gaap_SubsequentEventTable_D67086646D42B1C05232A9F25B8EC51D" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="loc_us-gaap_SubsequentEventTypeAxis_6A5B06A3C8E9B850F859A9F25B8E9AB9" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_SubsequentEventTable_D67086646D42B1C05232A9F25B8EC51D" xlink:to="loc_us-gaap_SubsequentEventTypeAxis_6A5B06A3C8E9B850F859A9F25B8E9AB9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="loc_us-gaap_SubsequentEventTypeDomain_9BA30A4A74422EE6B367A9F25B8F7035_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_SubsequentEventTypeAxis_6A5B06A3C8E9B850F859A9F25B8E9AB9" xlink:to="loc_us-gaap_SubsequentEventTypeDomain_9BA30A4A74422EE6B367A9F25B8F7035_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="loc_us-gaap_SubsequentEventTypeDomain_9BA30A4A74422EE6B367A9F25B8F7035" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_SubsequentEventTypeAxis_6A5B06A3C8E9B850F859A9F25B8E9AB9" xlink:to="loc_us-gaap_SubsequentEventTypeDomain_9BA30A4A74422EE6B367A9F25B8F7035" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SubsequentEventMember" xlink:label="loc_us-gaap_SubsequentEventMember_C775B3E1B6F88D0BAB8EA9F25B8F9C94" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SubsequentEventTypeDomain_9BA30A4A74422EE6B367A9F25B8F7035" xlink:to="loc_us-gaap_SubsequentEventMember_C775B3E1B6F88D0BAB8EA9F25B8F9C94" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_Dividends" xlink:label="loc_us-gaap_Dividends_7AEB9B9699ED194D8D3AA9F25B8FBE68" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SubsequentEventLineItems_AEA98E8CD616062BC703A9F25B8FDE2B" xlink:to="loc_us-gaap_Dividends_7AEB9B9699ED194D8D3AA9F25B8FBE68" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DividendPayableDateToBePaidDayMonthAndYear" xlink:label="loc_us-gaap_DividendPayableDateToBePaidDayMonthAndYear_B8E03517EBE4BAF65C4FA9F25B9039B6" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SubsequentEventLineItems_AEA98E8CD616062BC703A9F25B8FDE2B" xlink:to="loc_us-gaap_DividendPayableDateToBePaidDayMonthAndYear_B8E03517EBE4BAF65C4FA9F25B9039B6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DividendsPayableDateOfRecordDayMonthAndYear" xlink:label="loc_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear_8AB4FF3B056A5CCF8F02A9F25B95E9AF" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_SubsequentEventLineItems_AEA98E8CD616062BC703A9F25B8FDE2B" xlink:to="loc_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear_8AB4FF3B056A5CCF8F02A9F25B95E9AF" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxContingencyLineItems" xlink:label="loc_us-gaap_IncomeTaxContingencyLineItems_9E3BB5CBFED74BBE727EB894E115D4D6" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxContingencyTable" xlink:label="loc_us-gaap_IncomeTaxContingencyTable_316E054C219B1FCC8647B894E1127F22" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/all" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_9E3BB5CBFED74BBE727EB894E115D4D6" xlink:to="loc_us-gaap_IncomeTaxContingencyTable_316E054C219B1FCC8647B894E1127F22" xlink:type="arc" xbrldt:closed="true" xbrldt:contextElement="segment" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_7A6B55DEA4AA9978DAA4B894E112F4D6" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_IncomeTaxContingencyTable_316E054C219B1FCC8647B894E1127F22" xlink:to="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_7A6B55DEA4AA9978DAA4B894E112F4D6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="loc_us-gaap_TypeOfAdoptionMember_BEFDDF135772C48F1FCEB894E1135ADD_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_7A6B55DEA4AA9978DAA4B894E112F4D6" xlink:to="loc_us-gaap_TypeOfAdoptionMember_BEFDDF135772C48F1FCEB894E1135ADD_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="loc_us-gaap_TypeOfAdoptionMember_BEFDDF135772C48F1FCEB894E1135ADD" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_7A6B55DEA4AA9978DAA4B894E112F4D6" xlink:to="loc_us-gaap_TypeOfAdoptionMember_BEFDDF135772C48F1FCEB894E1135ADD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccountingStandardsUpdate201616Member" xlink:label="loc_us-gaap_AccountingStandardsUpdate201616Member_EE1B9C36D74D06D603EBB894E11349C2" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_TypeOfAdoptionMember_BEFDDF135772C48F1FCEB894E1135ADD" xlink:to="loc_us-gaap_AccountingStandardsUpdate201616Member_EE1B9C36D74D06D603EBB894E11349C2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="loc_us-gaap_IncomeTaxAuthorityAxis_E618489F49561EFEE37CB894E1138596" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_IncomeTaxContingencyTable_316E054C219B1FCC8647B894E1127F22" xlink:to="loc_us-gaap_IncomeTaxAuthorityAxis_E618489F49561EFEE37CB894E1138596" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain_DF71BE8F0B8C1F2FD6B6B894E114AB40_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis_E618489F49561EFEE37CB894E1138596" xlink:to="loc_us-gaap_IncomeTaxAuthorityDomain_DF71BE8F0B8C1F2FD6B6B894E114AB40_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain_DF71BE8F0B8C1F2FD6B6B894E114AB40" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis_E618489F49561EFEE37CB894E1138596" xlink:to="loc_us-gaap_IncomeTaxAuthorityDomain_DF71BE8F0B8C1F2FD6B6B894E114AB40" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ForeignCountryMember" xlink:label="loc_us-gaap_ForeignCountryMember_05A2CE4B41B0FD3CCD81B894E114AFF9" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_DF71BE8F0B8C1F2FD6B6B894E114AB40" xlink:to="loc_us-gaap_ForeignCountryMember_05A2CE4B41B0FD3CCD81B894E114AFF9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DomesticCountryMember" xlink:label="loc_us-gaap_DomesticCountryMember_6D51A738601F00D0F1C6B894E114FCEE" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_DF71BE8F0B8C1F2FD6B6B894E114AB40" xlink:to="loc_us-gaap_DomesticCountryMember_6D51A738601F00D0F1C6B894E114FCEE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxAuthorityNameAxis" xlink:label="loc_us-gaap_IncomeTaxAuthorityNameAxis_BE2A4BAA31CB4F048800B894E114BD89" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/hypercube-dimension" xlink:from="loc_us-gaap_IncomeTaxContingencyTable_316E054C219B1FCC8647B894E1127F22" xlink:to="loc_us-gaap_IncomeTaxAuthorityNameAxis_BE2A4BAA31CB4F048800B894E114BD89" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaap_IncomeTaxAuthorityNameDomain_D155FDF0A305F2E72B0FB894E115C313_default" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-default" xlink:from="loc_us-gaap_IncomeTaxAuthorityNameAxis_BE2A4BAA31CB4F048800B894E114BD89" xlink:to="loc_us-gaap_IncomeTaxAuthorityNameDomain_D155FDF0A305F2E72B0FB894E115C313_default" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaap_IncomeTaxAuthorityNameDomain_D155FDF0A305F2E72B0FB894E115C313" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/dimension-domain" xlink:from="loc_us-gaap_IncomeTaxAuthorityNameAxis_BE2A4BAA31CB4F048800B894E114BD89" xlink:to="loc_us-gaap_IncomeTaxAuthorityNameDomain_D155FDF0A305F2E72B0FB894E115C313" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_RevenueCommissionersIrelandMember" xlink:label="loc_us-gaap_RevenueCommissionersIrelandMember_9A81B808EBB299CA1F04B894E1152B72" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxAuthorityNameDomain_D155FDF0A305F2E72B0FB894E115C313" xlink:to="loc_us-gaap_RevenueCommissionersIrelandMember_9A81B808EBB299CA1F04B894E1152B72" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StateAdministrationOfTaxationChinaMember" xlink:label="loc_us-gaap_StateAdministrationOfTaxationChinaMember_7A0644AA961D6684534BB894E1150435" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxAuthorityNameDomain_D155FDF0A305F2E72B0FB894E115C313" xlink:to="loc_us-gaap_StateAdministrationOfTaxationChinaMember_7A0644AA961D6684534BB894E1150435" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_EEBA517B3B46D35157C3B894E1155E7B" xlink:type="locator" />
    <link:definitionArc order="1" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_9E3BB5CBFED74BBE727EB894E115D4D6" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_EEBA517B3B46D35157C3B894E1155E7B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_D45B66965C9F1E1A319DB894E11692A6" xlink:type="locator" />
    <link:definitionArc order="2" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_9E3BB5CBFED74BBE727EB894E115D4D6" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_D45B66965C9F1E1A319DB894E11692A6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CumulativeEffectOnRetainedEarningsNetOfTax1" xlink:label="loc_us-gaap_CumulativeEffectOnRetainedEarningsNetOfTax1_E740AC46B2D3A1BBC785B894E116574E" xlink:type="locator" />
    <link:definitionArc order="3" xlink:arcrole="http://xbrl.org/int/dim/arcrole/domain-member" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_9E3BB5CBFED74BBE727EB894E115D4D6" xlink:to="loc_us-gaap_CumulativeEffectOnRetainedEarningsNetOfTax1_E740AC46B2D3A1BBC785B894E116574E" 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>10
<FILENAME>cgnx-20180701_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_108BC86696A8062A994B94A1500BA640_label_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_108BC86696A8062A994B94A1500BA640" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_108BC86696A8062A994B94A1500BA640" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_108BC86696A8062A994B94A1500BA640" xlink:to="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_108BC86696A8062A994B94A1500BA640" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeFairValueOfDerivativeAsset_1B8FFA8D52E6C0F68BF294A1500BA811_verboseLabel_en-US" xlink:label="lab_us-gaap_DerivativeFairValueOfDerivativeAsset_1B8FFA8D52E6C0F68BF294A1500BA811" 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_1B8FFA8D52E6C0F68BF294A1500BA811_label_en-US" xlink:label="lab_us-gaap_DerivativeFairValueOfDerivativeAsset_1B8FFA8D52E6C0F68BF294A1500BA811" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeFairValueOfDerivativeAsset" xlink:label="loc_us-gaap_DerivativeFairValueOfDerivativeAsset_1B8FFA8D52E6C0F68BF294A1500BA811" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeFairValueOfDerivativeAsset_1B8FFA8D52E6C0F68BF294A1500BA811" xlink:to="lab_us-gaap_DerivativeFairValueOfDerivativeAsset_1B8FFA8D52E6C0F68BF294A1500BA811" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset_AC33AF1BD4EDF02C697794A1500B2799_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset_AC33AF1BD4EDF02C697794A1500B2799" 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_AC33AF1BD4EDF02C697794A1500B2799_label_en-US" xlink:label="lab_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset_AC33AF1BD4EDF02C697794A1500B2799" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset" xlink:label="loc_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset_AC33AF1BD4EDF02C697794A1500B2799" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset_AC33AF1BD4EDF02C697794A1500B2799" xlink:to="lab_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset_AC33AF1BD4EDF02C697794A1500B2799" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeAssets_CACDD6251D7B5B9F876094A1500BDC63_totalLabel_en-US" xlink:label="lab_us-gaap_DerivativeAssets_CACDD6251D7B5B9F876094A1500BDC63" 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_CACDD6251D7B5B9F876094A1500BDC63_label_en-US" xlink:label="lab_us-gaap_DerivativeAssets_CACDD6251D7B5B9F876094A1500BDC63" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeAssets" xlink:label="loc_us-gaap_DerivativeAssets_CACDD6251D7B5B9F876094A1500BDC63" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeAssets_CACDD6251D7B5B9F876094A1500BDC63" xlink:to="lab_us-gaap_DerivativeAssets_CACDD6251D7B5B9F876094A1500BDC63" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeFairValueOfDerivativeLiability_A759A296BBC9BBCA500494A1500C4C24_verboseLabel_en-US" xlink:label="lab_us-gaap_DerivativeFairValueOfDerivativeLiability_A759A296BBC9BBCA500494A1500C4C24" 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_A759A296BBC9BBCA500494A1500C4C24_label_en-US" xlink:label="lab_us-gaap_DerivativeFairValueOfDerivativeLiability_A759A296BBC9BBCA500494A1500C4C24" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeFairValueOfDerivativeLiability" xlink:label="loc_us-gaap_DerivativeFairValueOfDerivativeLiability_A759A296BBC9BBCA500494A1500C4C24" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeFairValueOfDerivativeLiability_A759A296BBC9BBCA500494A1500C4C24" xlink:to="lab_us-gaap_DerivativeFairValueOfDerivativeLiability_A759A296BBC9BBCA500494A1500C4C24" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset_7A7FEFC6D3791B2E4FA594A1500C54C3_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset_7A7FEFC6D3791B2E4FA594A1500C54C3" 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_7A7FEFC6D3791B2E4FA594A1500C54C3_label_en-US" xlink:label="lab_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset_7A7FEFC6D3791B2E4FA594A1500C54C3" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset" xlink:label="loc_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset_7A7FEFC6D3791B2E4FA594A1500C54C3" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset_7A7FEFC6D3791B2E4FA594A1500C54C3" xlink:to="lab_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset_7A7FEFC6D3791B2E4FA594A1500C54C3" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeLiabilities_4FA64A83ADC2E5C70FD694A1500C4793_totalLabel_en-US" xlink:label="lab_us-gaap_DerivativeLiabilities_4FA64A83ADC2E5C70FD694A1500C4793" 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_4FA64A83ADC2E5C70FD694A1500C4793_label_en-US" xlink:label="lab_us-gaap_DerivativeLiabilities_4FA64A83ADC2E5C70FD694A1500C4793" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeLiabilities" xlink:label="loc_us-gaap_DerivativeLiabilities_4FA64A83ADC2E5C70FD694A1500C4793" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeLiabilities_4FA64A83ADC2E5C70FD694A1500C4793" xlink:to="lab_us-gaap_DerivativeLiabilities_4FA64A83ADC2E5C70FD694A1500C4793" xlink:type="arc" />
    <link:label id="lab_us-gaap_ProductWarrantiesDisclosuresAbstract_27C7A7DB11685E4DEA2894A14F83A274_label_en-US" xlink:label="lab_us-gaap_ProductWarrantiesDisclosuresAbstract_27C7A7DB11685E4DEA2894A14F83A274" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ProductWarrantiesDisclosuresAbstract" xlink:label="loc_us-gaap_ProductWarrantiesDisclosuresAbstract_27C7A7DB11685E4DEA2894A14F83A274" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductWarrantiesDisclosuresAbstract_27C7A7DB11685E4DEA2894A14F83A274" xlink:to="lab_us-gaap_ProductWarrantiesDisclosuresAbstract_27C7A7DB11685E4DEA2894A14F83A274" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_8F9FC89E8B60CAF10AB294A14F848DA0_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_8F9FC89E8B60CAF10AB294A14F848DA0" 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_8F9FC89E8B60CAF10AB294A14F848DA0_label_en-US" xlink:label="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_8F9FC89E8B60CAF10AB294A14F848DA0" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_8F9FC89E8B60CAF10AB294A14F848DA0" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_8F9FC89E8B60CAF10AB294A14F848DA0" xlink:to="lab_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_8F9FC89E8B60CAF10AB294A14F848DA0" xlink:type="arc" />
    <link:label id="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_C898822D863FCA59FB9194A151AE06CB_label_en-US" xlink:label="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_C898822D863FCA59FB9194A151AE06CB" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_C898822D863FCA59FB9194A151AE06CB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_C898822D863FCA59FB9194A151AE06CB" xlink:to="lab_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_C898822D863FCA59FB9194A151AE06CB" xlink:type="arc" />
    <link:label id="lab_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_FFA96C3A0B067E8013A694A151AE81BD_terseLabel_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_FFA96C3A0B067E8013A694A151AE81BD" 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_FFA96C3A0B067E8013A694A151AE81BD_label_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_FFA96C3A0B067E8013A694A151AE81BD" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:label="loc_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_FFA96C3A0B067E8013A694A151AE81BD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_FFA96C3A0B067E8013A694A151AE81BD" xlink:to="lab_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_FFA96C3A0B067E8013A694A151AE81BD" xlink:type="arc" />
    <link:label id="lab_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_649EACBDA0411514A2B394A14EA64C8F_label_en-US" xlink:label="lab_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_649EACBDA0411514A2B394A14EA64C8F" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_649EACBDA0411514A2B394A14EA64C8F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_649EACBDA0411514A2B394A14EA64C8F" xlink:to="lab_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_649EACBDA0411514A2B394A14EA64C8F" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_9A46A912FFCB6EC2C8A494A14EA7B9FF_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_9A46A912FFCB6EC2C8A494A14EA7B9FF" 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_9A46A912FFCB6EC2C8A494A14EA7B9FF_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_9A46A912FFCB6EC2C8A494A14EA7B9FF" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_9A46A912FFCB6EC2C8A494A14EA7B9FF" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_9A46A912FFCB6EC2C8A494A14EA7B9FF" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_9A46A912FFCB6EC2C8A494A14EA7B9FF" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_C2547C383044725B51D594A14EB0CB3F_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_C2547C383044725B51D594A14EB0CB3F" 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_C2547C383044725B51D594A14EB0CB3F_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_C2547C383044725B51D594A14EB0CB3F" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_C2547C383044725B51D594A14EB0CB3F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_C2547C383044725B51D594A14EB0CB3F" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_C2547C383044725B51D594A14EB0CB3F" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_7E89902572C87E4B433994A14EB1BF98_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_7E89902572C87E4B433994A14EB1BF98" 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_7E89902572C87E4B433994A14EB1BF98_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_7E89902572C87E4B433994A14EB1BF98" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_7E89902572C87E4B433994A14EB1BF98" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_7E89902572C87E4B433994A14EB1BF98" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_7E89902572C87E4B433994A14EB1BF98" xlink:type="arc" />
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_4FCDE78648F341DF729394A14EB1A65D_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_4FCDE78648F341DF729394A14EB1A65D" 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_4FCDE78648F341DF729394A14EB1A65D_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_4FCDE78648F341DF729394A14EB1A65D" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_4FCDE78648F341DF729394A14EB1A65D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_4FCDE78648F341DF729394A14EB1A65D" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_4FCDE78648F341DF729394A14EB1A65D" xlink:type="arc" />
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAbstract_C655E81DE689A288BF9394A14EFD7782_label_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAbstract_C655E81DE689A288BF9394A14EFD7782" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CashAndCashEquivalentsAbstract" xlink:label="loc_us-gaap_CashAndCashEquivalentsAbstract_C655E81DE689A288BF9394A14EFD7782" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsAbstract_C655E81DE689A288BF9394A14EFD7782" xlink:to="lab_us-gaap_CashAndCashEquivalentsAbstract_C655E81DE689A288BF9394A14EFD7782" xlink:type="arc" />
    <link:label id="lab_us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock_0A0BC702A2D0462F274494A14EFD929B_terseLabel_en-US" xlink:label="lab_us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock_0A0BC702A2D0462F274494A14EFD929B" 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_0A0BC702A2D0462F274494A14EFD929B_label_en-US" xlink:label="lab_us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock_0A0BC702A2D0462F274494A14EFD929B" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock" xlink:label="loc_us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock_0A0BC702A2D0462F274494A14EFD929B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock_0A0BC702A2D0462F274494A14EFD929B" xlink:to="lab_us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock_0A0BC702A2D0462F274494A14EFD929B" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueDisclosuresAbstract_BAF6964FC31B62CC3AFD94A14F101B8E_label_en-US" xlink:label="lab_us-gaap_FairValueDisclosuresAbstract_BAF6964FC31B62CC3AFD94A14F101B8E" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_BAF6964FC31B62CC3AFD94A14F101B8E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueDisclosuresAbstract_BAF6964FC31B62CC3AFD94A14F101B8E" xlink:to="lab_us-gaap_FairValueDisclosuresAbstract_BAF6964FC31B62CC3AFD94A14F101B8E" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueDisclosuresTextBlock_215B696C26D3A9F3445994A14F10DF6D_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueDisclosuresTextBlock_215B696C26D3A9F3445994A14F10DF6D" 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_215B696C26D3A9F3445994A14F10DF6D_label_en-US" xlink:label="lab_us-gaap_FairValueDisclosuresTextBlock_215B696C26D3A9F3445994A14F10DF6D" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueDisclosuresTextBlock" xlink:label="loc_us-gaap_FairValueDisclosuresTextBlock_215B696C26D3A9F3445994A14F10DF6D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueDisclosuresTextBlock_215B696C26D3A9F3445994A14F10DF6D" xlink:to="lab_us-gaap_FairValueDisclosuresTextBlock_215B696C26D3A9F3445994A14F10DF6D" xlink:type="arc" />
    <link:label id="lab_us-gaap_StatementOfStockholdersEquityAbstract_E6B37C347C03DD23734DB90793950B80_label_en-US" xlink:label="lab_us-gaap_StatementOfStockholdersEquityAbstract_E6B37C347C03DD23734DB90793950B80" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract_E6B37C347C03DD23734DB90793950B80" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfStockholdersEquityAbstract_E6B37C347C03DD23734DB90793950B80" xlink:to="lab_us-gaap_StatementOfStockholdersEquityAbstract_E6B37C347C03DD23734DB90793950B80" xlink:type="arc" />
    <link:label id="lab_us-gaap_StatementTable_25D2182AFAB3625F0F84B907939824D9_terseLabel_en-US" xlink:label="lab_us-gaap_StatementTable_25D2182AFAB3625F0F84B907939824D9" 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_25D2182AFAB3625F0F84B907939824D9_label_en-US" xlink:label="lab_us-gaap_StatementTable_25D2182AFAB3625F0F84B907939824D9" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_25D2182AFAB3625F0F84B907939824D9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementTable_25D2182AFAB3625F0F84B907939824D9" xlink:to="lab_us-gaap_StatementTable_25D2182AFAB3625F0F84B907939824D9" xlink:type="arc" />
    <link:label id="lab_us-gaap_StatementEquityComponentsAxis_80D4E2F91DDA8363C64BB9079398B009_terseLabel_en-US" xlink:label="lab_us-gaap_StatementEquityComponentsAxis_80D4E2F91DDA8363C64BB9079398B009" 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_80D4E2F91DDA8363C64BB9079398B009_label_en-US" xlink:label="lab_us-gaap_StatementEquityComponentsAxis_80D4E2F91DDA8363C64BB9079398B009" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_80D4E2F91DDA8363C64BB9079398B009" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementEquityComponentsAxis_80D4E2F91DDA8363C64BB9079398B009" xlink:to="lab_us-gaap_StatementEquityComponentsAxis_80D4E2F91DDA8363C64BB9079398B009" xlink:type="arc" />
    <link:label id="lab_us-gaap_EquityComponentDomain_29E49AC45DBC1EACD50FB9079398E72F_terseLabel_en-US" xlink:label="lab_us-gaap_EquityComponentDomain_29E49AC45DBC1EACD50FB9079398E72F" 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_29E49AC45DBC1EACD50FB9079398E72F_label_en-US" xlink:label="lab_us-gaap_EquityComponentDomain_29E49AC45DBC1EACD50FB9079398E72F" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaap_EquityComponentDomain_29E49AC45DBC1EACD50FB9079398E72F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EquityComponentDomain_29E49AC45DBC1EACD50FB9079398E72F" xlink:to="lab_us-gaap_EquityComponentDomain_29E49AC45DBC1EACD50FB9079398E72F" xlink:type="arc" />
    <link:label id="lab_us-gaap_CommonStockMember_9BE23C8118B56147A1C6B90793988267_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockMember_9BE23C8118B56147A1C6B90793988267" 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_9BE23C8118B56147A1C6B90793988267_label_en-US" xlink:label="lab_us-gaap_CommonStockMember_9BE23C8118B56147A1C6B90793988267" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaap_CommonStockMember_9BE23C8118B56147A1C6B90793988267" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockMember_9BE23C8118B56147A1C6B90793988267" xlink:to="lab_us-gaap_CommonStockMember_9BE23C8118B56147A1C6B90793988267" xlink:type="arc" />
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalMember_254CB53D5D9254ACF25EB9079399D216_terseLabel_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalMember_254CB53D5D9254ACF25EB9079399D216" 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_254CB53D5D9254ACF25EB9079399D216_label_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalMember_254CB53D5D9254ACF25EB9079399D216" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember_254CB53D5D9254ACF25EB9079399D216" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdditionalPaidInCapitalMember_254CB53D5D9254ACF25EB9079399D216" xlink:to="lab_us-gaap_AdditionalPaidInCapitalMember_254CB53D5D9254ACF25EB9079399D216" xlink:type="arc" />
    <link:label id="lab_us-gaap_RetainedEarningsMember_7D2F4A4A1B0E85B54585B90793998BD9_terseLabel_en-US" xlink:label="lab_us-gaap_RetainedEarningsMember_7D2F4A4A1B0E85B54585B90793998BD9" 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_7D2F4A4A1B0E85B54585B90793998BD9_label_en-US" xlink:label="lab_us-gaap_RetainedEarningsMember_7D2F4A4A1B0E85B54585B90793998BD9" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_RetainedEarningsMember" xlink:label="loc_us-gaap_RetainedEarningsMember_7D2F4A4A1B0E85B54585B90793998BD9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetainedEarningsMember_7D2F4A4A1B0E85B54585B90793998BD9" xlink:to="lab_us-gaap_RetainedEarningsMember_7D2F4A4A1B0E85B54585B90793998BD9" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember_CEFB5DF6DB4472DEC8D5B9079399FA37_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember_CEFB5DF6DB4472DEC8D5B9079399FA37" 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_CEFB5DF6DB4472DEC8D5B9079399FA37_label_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember_CEFB5DF6DB4472DEC8D5B9079399FA37" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_CEFB5DF6DB4472DEC8D5B9079399FA37" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_CEFB5DF6DB4472DEC8D5B9079399FA37" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeMember_CEFB5DF6DB4472DEC8D5B9079399FA37" xlink:type="arc" />
    <link:label id="lab_us-gaap_StatementLineItems_CDDEC2DC1BA5ED49F1D3B9079399FF4A_terseLabel_en-US" xlink:label="lab_us-gaap_StatementLineItems_CDDEC2DC1BA5ED49F1D3B9079399FF4A" 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_CDDEC2DC1BA5ED49F1D3B9079399FF4A_label_en-US" xlink:label="lab_us-gaap_StatementLineItems_CDDEC2DC1BA5ED49F1D3B9079399FF4A" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_CDDEC2DC1BA5ED49F1D3B9079399FF4A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementLineItems_CDDEC2DC1BA5ED49F1D3B9079399FF4A" xlink:to="lab_us-gaap_StatementLineItems_CDDEC2DC1BA5ED49F1D3B9079399FF4A" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_D74837379EBA0EAEC02AB907939AC260_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_D74837379EBA0EAEC02AB907939AC260" 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_D74837379EBA0EAEC02AB907939AC260_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_D74837379EBA0EAEC02AB907939AC260" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_D74837379EBA0EAEC02AB907939AC260" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_D74837379EBA0EAEC02AB907939AC260" xlink:to="lab_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_D74837379EBA0EAEC02AB907939AC260" xlink:type="arc" />
    <link:label id="lab_us-gaap_CommonStockSharesIssued_0F63C0E87BCB8EFA40D4B907939AEF8A_periodStartLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesIssued_0F63C0E87BCB8EFA40D4B907939AEF8A" 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_0F63C0E87BCB8EFA40D4B907939AEF8A_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesIssued_0F63C0E87BCB8EFA40D4B907939AEF8A" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaap_CommonStockSharesIssued_0F63C0E87BCB8EFA40D4B907939AEF8A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesIssued_0F63C0E87BCB8EFA40D4B907939AEF8A" xlink:to="lab_us-gaap_CommonStockSharesIssued_0F63C0E87BCB8EFA40D4B907939AEF8A" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockholdersEquity_348E081D45BF0BFA1E58B907939A6483_periodStartLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity_348E081D45BF0BFA1E58B907939A6483" 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_StockholdersEquity_348E081D45BF0BFA1E58B907939A6483_label_en-US" xlink:label="lab_us-gaap_StockholdersEquity_348E081D45BF0BFA1E58B907939A6483" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaap_StockholdersEquity_348E081D45BF0BFA1E58B907939A6483" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquity_348E081D45BF0BFA1E58B907939A6483" xlink:to="lab_us-gaap_StockholdersEquity_348E081D45BF0BFA1E58B907939A6483" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_CD497B7CA9F77FAE2F3BB907939A00AB_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_CD497B7CA9F77FAE2F3BB907939A00AB" 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_CD497B7CA9F77FAE2F3BB907939A00AB_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_CD497B7CA9F77FAE2F3BB907939A00AB" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_CD497B7CA9F77FAE2F3BB907939A00AB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_CD497B7CA9F77FAE2F3BB907939A00AB" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_CD497B7CA9F77FAE2F3BB907939A00AB" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_7AB8D3964D01DFE38979B907939B55C4_terseLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_7AB8D3964D01DFE38979B907939B55C4" 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_7AB8D3964D01DFE38979B907939B55C4_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_7AB8D3964D01DFE38979B907939B55C4" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_7AB8D3964D01DFE38979B907939B55C4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_7AB8D3964D01DFE38979B907939B55C4" xlink:to="lab_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_7AB8D3964D01DFE38979B907939B55C4" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockRepurchasedDuringPeriodShares_0FD1418E0FDD131EEBD9B907939B5226_negatedLabel_en-US" xlink:label="lab_us-gaap_StockRepurchasedDuringPeriodShares_0FD1418E0FDD131EEBD9B907939B5226" 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_0FD1418E0FDD131EEBD9B907939B5226_label_en-US" xlink:label="lab_us-gaap_StockRepurchasedDuringPeriodShares_0FD1418E0FDD131EEBD9B907939B5226" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodShares_0FD1418E0FDD131EEBD9B907939B5226" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRepurchasedDuringPeriodShares_0FD1418E0FDD131EEBD9B907939B5226" xlink:to="lab_us-gaap_StockRepurchasedDuringPeriodShares_0FD1418E0FDD131EEBD9B907939B5226" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockRepurchasedDuringPeriodValue_278F38DE4A9225C9A66EB907939B97F7_negatedLabel_en-US" xlink:label="lab_us-gaap_StockRepurchasedDuringPeriodValue_278F38DE4A9225C9A66EB907939B97F7" 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_278F38DE4A9225C9A66EB907939B97F7_label_en-US" xlink:label="lab_us-gaap_StockRepurchasedDuringPeriodValue_278F38DE4A9225C9A66EB907939B97F7" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodValue_278F38DE4A9225C9A66EB907939B97F7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRepurchasedDuringPeriodValue_278F38DE4A9225C9A66EB907939B97F7" xlink:to="lab_us-gaap_StockRepurchasedDuringPeriodValue_278F38DE4A9225C9A66EB907939B97F7" xlink:type="arc" />
    <link:label id="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_5E44C4DA09158A1E62F8B907939BDE58_terseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_5E44C4DA09158A1E62F8B907939BDE58" 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_5E44C4DA09158A1E62F8B907939BDE58_label_en-US" xlink:label="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_5E44C4DA09158A1E62F8B907939BDE58" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_5E44C4DA09158A1E62F8B907939BDE58" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_5E44C4DA09158A1E62F8B907939BDE58" xlink:to="lab_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_5E44C4DA09158A1E62F8B907939BDE58" xlink:type="arc" />
    <link:label id="lab_us-gaap_DividendsCash_CAC498A92EA2FD45B910B907939B1CB4_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_DividendsCash_CAC498A92EA2FD45B910B907939B1CB4" 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_CAC498A92EA2FD45B910B907939B1CB4_label_en-US" xlink:label="lab_us-gaap_DividendsCash_CAC498A92EA2FD45B910B907939B1CB4" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DividendsCash" xlink:label="loc_us-gaap_DividendsCash_CAC498A92EA2FD45B910B907939B1CB4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DividendsCash_CAC498A92EA2FD45B910B907939B1CB4" xlink:to="lab_us-gaap_DividendsCash_CAC498A92EA2FD45B910B907939B1CB4" xlink:type="arc" />
    <link:label id="lab_us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption_2764EBEAD6803A175683B907939C4A6B_terseLabel_en-US" xlink:label="lab_us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption_2764EBEAD6803A175683B907939C4A6B" 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 (Note 12)</link:label>
    <link:label id="lab_us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption_2764EBEAD6803A175683B907939C4A6B_label_en-US" xlink:label="lab_us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption_2764EBEAD6803A175683B907939C4A6B" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption" xlink:label="loc_us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption_2764EBEAD6803A175683B907939C4A6B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption_2764EBEAD6803A175683B907939C4A6B" xlink:to="lab_us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption_2764EBEAD6803A175683B907939C4A6B" xlink:type="arc" />
    <link:label id="lab_us-gaap_NetIncomeLoss_BD059AA7828906F1DC01B907939C64F5_terseLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLoss_BD059AA7828906F1DC01B907939C64F5" 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_BD059AA7828906F1DC01B907939C64F5_label_en-US" xlink:label="lab_us-gaap_NetIncomeLoss_BD059AA7828906F1DC01B907939C64F5" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_BD059AA7828906F1DC01B907939C64F5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetIncomeLoss_BD059AA7828906F1DC01B907939C64F5" xlink:to="lab_us-gaap_NetIncomeLoss_BD059AA7828906F1DC01B907939C64F5" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_E14CBD263F7F03B18920B907939CF40F_verboseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_E14CBD263F7F03B18920B907939CF40F" 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 $(106)</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_E14CBD263F7F03B18920B907939CF40F_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_E14CBD263F7F03B18920B907939CF40F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Comprehensive Income (Loss), Unrealized Holding Gain (Loss) on Securities Arising During Period, Net of Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_E14CBD263F7F03B18920B907939CF40F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_E14CBD263F7F03B18920B907939CF40F" xlink:to="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_E14CBD263F7F03B18920B907939CF40F" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_4D678267E19586E2C8E0B907939CFD3F_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_4D678267E19586E2C8E0B907939CFD3F" 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_4D678267E19586E2C8E0B907939CFD3F_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_4D678267E19586E2C8E0B907939CFD3F" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_4D678267E19586E2C8E0B907939CFD3F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_4D678267E19586E2C8E0B907939CFD3F" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_4D678267E19586E2C8E0B907939CFD3F" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_D1D22D363623F19E87F5B907939CD907_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_D1D22D363623F19E87F5B907939CD907" 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_D1D22D363623F19E87F5B907939CD907_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_D1D22D363623F19E87F5B907939CD907" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_D1D22D363623F19E87F5B907939CD907" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_D1D22D363623F19E87F5B907939CD907" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_D1D22D363623F19E87F5B907939CD907" xlink:type="arc" />
    <link:label id="lab_us-gaap_CommonStockSharesIssued_CE5A392FF5422F5A705FB907939CA0DB_periodEndLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesIssued_CE5A392FF5422F5A705FB907939CA0DB" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaap_CommonStockSharesIssued_CE5A392FF5422F5A705FB907939CA0DB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesIssued_CE5A392FF5422F5A705FB907939CA0DB" xlink:to="lab_us-gaap_CommonStockSharesIssued_CE5A392FF5422F5A705FB907939CA0DB" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockholdersEquity_6D82D37FAECC78D8B28CB907939D9E6B_periodEndLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity_6D82D37FAECC78D8B28CB907939D9E6B" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaap_StockholdersEquity_6D82D37FAECC78D8B28CB907939D9E6B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquity_6D82D37FAECC78D8B28CB907939D9E6B" xlink:to="lab_us-gaap_StockholdersEquity_6D82D37FAECC78D8B28CB907939D9E6B" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeTaxDisclosureAbstract_CC36A1F9DD932F8569FDAEEA1072B226_label_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureAbstract_CC36A1F9DD932F8569FDAEEA1072B226" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_CC36A1F9DD932F8569FDAEEA1072B226" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxDisclosureAbstract_CC36A1F9DD932F8569FDAEEA1072B226" xlink:to="lab_us-gaap_IncomeTaxDisclosureAbstract_CC36A1F9DD932F8569FDAEEA1072B226" xlink:type="arc" />
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_5357C3CE104BE7555CFFAEEA107741FD_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_5357C3CE104BE7555CFFAEEA107741FD" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Income tax provision at federal statutory corporate tax rate</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_5357C3CE104BE7555CFFAEEA107741FD_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_5357C3CE104BE7555CFFAEEA107741FD" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_5357C3CE104BE7555CFFAEEA107741FD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_5357C3CE104BE7555CFFAEEA107741FD" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_5357C3CE104BE7555CFFAEEA107741FD" xlink:type="arc" />
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_4930690E8069A301412EAEEA107D743A_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_4930690E8069A301412EAEEA107D743A" 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_4930690E8069A301412EAEEA107D743A_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_4930690E8069A301412EAEEA107D743A" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_4930690E8069A301412EAEEA107D743A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_4930690E8069A301412EAEEA107D743A" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_4930690E8069A301412EAEEA107D743A" xlink:type="arc" />
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_9CAB1DE63CA8CAEC9BCFAEEA107DE8BE_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_9CAB1DE63CA8CAEC9BCFAEEA107DE8BE" 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_9CAB1DE63CA8CAEC9BCFAEEA107DE8BE_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_9CAB1DE63CA8CAEC9BCFAEEA107DE8BE" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_9CAB1DE63CA8CAEC9BCFAEEA107DE8BE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_9CAB1DE63CA8CAEC9BCFAEEA107DE8BE" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_9CAB1DE63CA8CAEC9BCFAEEA107DE8BE" xlink:type="arc" />
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_64BAB93CE0E90D4902FAAEEA107DBE64_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_64BAB93CE0E90D4902FAAEEA107DBE64" 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_64BAB93CE0E90D4902FAAEEA107DBE64_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_64BAB93CE0E90D4902FAAEEA107DBE64" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_64BAB93CE0E90D4902FAAEEA107DBE64" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_64BAB93CE0E90D4902FAAEEA107DBE64" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_64BAB93CE0E90D4902FAAEEA107DBE64" xlink:type="arc" />
    <link:label id="lab_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_5BA0B001A6D98A2669ABAEEA107D2DCC_negatedTerseLabel_en-US" xlink:label="lab_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_5BA0B001A6D98A2669ABAEEA107D2DCC" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Discrete tax benefit related to stock option exercises</link:label>
    <link:label id="lab_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_5BA0B001A6D98A2669ABAEEA107D2DCC_label_en-US" xlink:label="lab_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_5BA0B001A6D98A2669ABAEEA107D2DCC" 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:label id="lab_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_5BA0B001A6D98A2669ABAEEA107D2DCC_documentation_en-US" xlink:label="lab_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_5BA0B001A6D98A2669ABAEEA107D2DCC" xlink:role="http://www.xbrl.org/2003/role/documentation" 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="cgnx-20180701.xsd#cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent" xlink:label="loc_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_5BA0B001A6D98A2669ABAEEA107D2DCC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_5BA0B001A6D98A2669ABAEEA107D2DCC" xlink:to="lab_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_5BA0B001A6D98A2669ABAEEA107D2DCC" xlink:type="arc" />
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_0E6A22236754F9A0FFADAEEA107E617E_terseLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_0E6A22236754F9A0FFADAEEA107E617E" 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_0E6A22236754F9A0FFADAEEA107E617E_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_0E6A22236754F9A0FFADAEEA107E617E" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_0E6A22236754F9A0FFADAEEA107E617E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_0E6A22236754F9A0FFADAEEA107E617E" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_0E6A22236754F9A0FFADAEEA107E617E" xlink:type="arc" />
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations_8EEAE088746F90B61D11AEEA107E2EDA_totalLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations_8EEAE088746F90B61D11AEEA107E2EDA" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Income tax provision on continuing operations</link:label>
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations_8EEAE088746F90B61D11AEEA107E2EDA_label_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations_8EEAE088746F90B61D11AEEA107E2EDA" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_8EEAE088746F90B61D11AEEA107E2EDA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_8EEAE088746F90B61D11AEEA107E2EDA" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateContinuingOperations_8EEAE088746F90B61D11AEEA107E2EDA" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeTaxDisclosureTextBlock_C60A0AE0CF99628F0A1C94A150004BB8_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureTextBlock_C60A0AE0CF99628F0A1C94A150004BB8" 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_C60A0AE0CF99628F0A1C94A150004BB8_label_en-US" xlink:label="lab_us-gaap_IncomeTaxDisclosureTextBlock_C60A0AE0CF99628F0A1C94A150004BB8" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="loc_us-gaap_IncomeTaxDisclosureTextBlock_C60A0AE0CF99628F0A1C94A150004BB8" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxDisclosureTextBlock_C60A0AE0CF99628F0A1C94A150004BB8" xlink:to="lab_us-gaap_IncomeTaxDisclosureTextBlock_C60A0AE0CF99628F0A1C94A150004BB8" xlink:type="arc" />
    <link:label id="lab_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock_6240FE9206648341884B94A15034E81A_terseLabel_en-US" xlink:label="lab_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock_6240FE9206648341884B94A15034E81A" 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_6240FE9206648341884B94A15034E81A_label_en-US" xlink:label="lab_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock_6240FE9206648341884B94A15034E81A" 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_6240FE9206648341884B94A15034E81A_documentation_en-US" xlink:label="lab_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock_6240FE9206648341884B94A15034E81A" 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-20180701.xsd#cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock" xlink:label="loc_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock_6240FE9206648341884B94A15034E81A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock_6240FE9206648341884B94A15034E81A" xlink:to="lab_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock_6240FE9206648341884B94A15034E81A" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_FDAA2483FF3C92C2447E94A15034CEDE_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_FDAA2483FF3C92C2447E94A15034CEDE" 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_FDAA2483FF3C92C2447E94A15034CEDE_label_en-US" xlink:label="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_FDAA2483FF3C92C2447E94A15034CEDE" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_FDAA2483FF3C92C2447E94A15034CEDE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_FDAA2483FF3C92C2447E94A15034CEDE" xlink:to="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_FDAA2483FF3C92C2447E94A15034CEDE" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock_854F221AD0B1B3FD662094A15035F25F_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock_854F221AD0B1B3FD662094A15035F25F" 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_854F221AD0B1B3FD662094A15035F25F_label_en-US" xlink:label="lab_us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock_854F221AD0B1B3FD662094A15035F25F" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock_854F221AD0B1B3FD662094A15035F25F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock_854F221AD0B1B3FD662094A15035F25F" xlink:to="lab_us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock_854F221AD0B1B3FD662094A15035F25F" xlink:type="arc" />
    <link:label id="lab_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_34B31A610B0086C8389C94A15035B306_terseLabel_en-US" xlink:label="lab_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_34B31A610B0086C8389C94A15035B306" 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_34B31A610B0086C8389C94A15035B306_label_en-US" xlink:label="lab_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_34B31A610B0086C8389C94A15035B306" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock" xlink:label="loc_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_34B31A610B0086C8389C94A15035B306" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_34B31A610B0086C8389C94A15035B306" xlink:to="lab_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_34B31A610B0086C8389C94A15035B306" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_89283E1F42F7A1DE54B2B895CE6B4090_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_89283E1F42F7A1DE54B2B895CE6B4090" 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_89283E1F42F7A1DE54B2B895CE6B4090_label_en-US" xlink:label="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_89283E1F42F7A1DE54B2B895CE6B4090" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:label="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_89283E1F42F7A1DE54B2B895CE6B4090" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_89283E1F42F7A1DE54B2B895CE6B4090" xlink:to="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_89283E1F42F7A1DE54B2B895CE6B4090" xlink:type="arc" />
    <link:label id="lab_us-gaap_BusinessAcquisitionAxis_EB41EA98BC663030E772B895CE6BE720_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionAxis_EB41EA98BC663030E772B895CE6BE720" 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_EB41EA98BC663030E772B895CE6BE720_label_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionAxis_EB41EA98BC663030E772B895CE6BE720" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_EB41EA98BC663030E772B895CE6BE720" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionAxis_EB41EA98BC663030E772B895CE6BE720" xlink:to="lab_us-gaap_BusinessAcquisitionAxis_EB41EA98BC663030E772B895CE6BE720" xlink:type="arc" />
    <link:label id="lab_us-gaap_BusinessAcquisitionAcquireeDomain_CC3211FD51E6023E6DF6B895CE6BE73B_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionAcquireeDomain_CC3211FD51E6023E6DF6B895CE6BE73B" 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_CC3211FD51E6023E6DF6B895CE6BE73B_label_en-US" xlink:label="lab_us-gaap_BusinessAcquisitionAcquireeDomain_CC3211FD51E6023E6DF6B895CE6BE73B" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_CC3211FD51E6023E6DF6B895CE6BE73B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessAcquisitionAcquireeDomain_CC3211FD51E6023E6DF6B895CE6BE73B" xlink:to="lab_us-gaap_BusinessAcquisitionAcquireeDomain_CC3211FD51E6023E6DF6B895CE6BE73B" xlink:type="arc" />
    <link:label id="lab_cgnx_ManateeWorksInc.Member_CAA7B9FF98D5D88D39BBB895CE6CE4F5_terseLabel_en-US" xlink:label="lab_cgnx_ManateeWorksInc.Member_CAA7B9FF98D5D88D39BBB895CE6CE4F5" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Manatee</link:label>
    <link:label id="lab_cgnx_ManateeWorksInc.Member_CAA7B9FF98D5D88D39BBB895CE6CE4F5_label_en-US" xlink:label="lab_cgnx_ManateeWorksInc.Member_CAA7B9FF98D5D88D39BBB895CE6CE4F5" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Manatee Works, Inc. [Member]</link:label>
    <link:label id="lab_cgnx_ManateeWorksInc.Member_CAA7B9FF98D5D88D39BBB895CE6CE4F5_documentation_en-US" xlink:label="lab_cgnx_ManateeWorksInc.Member_CAA7B9FF98D5D88D39BBB895CE6CE4F5" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Manatee Works, Inc. [Member]</link:label>
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_ManateeWorksInc.Member" xlink:label="loc_cgnx_ManateeWorksInc.Member_CAA7B9FF98D5D88D39BBB895CE6CE4F5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_ManateeWorksInc.Member_CAA7B9FF98D5D88D39BBB895CE6CE4F5" xlink:to="lab_cgnx_ManateeWorksInc.Member_CAA7B9FF98D5D88D39BBB895CE6CE4F5" xlink:type="arc" />
    <link:label id="lab_cgnx_GViVenturesInc.Member_5AE02E206D1A2E9F9022B895CE6CCF9F_verboseLabel_en-US" xlink:label="lab_cgnx_GViVenturesInc.Member_5AE02E206D1A2E9F9022B895CE6CCF9F" 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_5AE02E206D1A2E9F9022B895CE6CCF9F_label_en-US" xlink:label="lab_cgnx_GViVenturesInc.Member_5AE02E206D1A2E9F9022B895CE6CCF9F" 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_5AE02E206D1A2E9F9022B895CE6CCF9F_documentation_en-US" xlink:label="lab_cgnx_GViVenturesInc.Member_5AE02E206D1A2E9F9022B895CE6CCF9F" 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-20180701.xsd#cgnx_GViVenturesInc.Member" xlink:label="loc_cgnx_GViVenturesInc.Member_5AE02E206D1A2E9F9022B895CE6CCF9F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_GViVenturesInc.Member_5AE02E206D1A2E9F9022B895CE6CCF9F" xlink:to="lab_cgnx_GViVenturesInc.Member_5AE02E206D1A2E9F9022B895CE6CCF9F" xlink:type="arc" />
    <link:label id="lab_cgnx_ChiaroTechnologiesLLCMember_A89B99C398525D8E90B5B895CE6C3ED9_terseLabel_en-US" xlink:label="lab_cgnx_ChiaroTechnologiesLLCMember_A89B99C398525D8E90B5B895CE6C3ED9" 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_A89B99C398525D8E90B5B895CE6C3ED9_label_en-US" xlink:label="lab_cgnx_ChiaroTechnologiesLLCMember_A89B99C398525D8E90B5B895CE6C3ED9" 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_A89B99C398525D8E90B5B895CE6C3ED9_documentation_en-US" xlink:label="lab_cgnx_ChiaroTechnologiesLLCMember_A89B99C398525D8E90B5B895CE6C3ED9" 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-20180701.xsd#cgnx_ChiaroTechnologiesLLCMember" xlink:label="loc_cgnx_ChiaroTechnologiesLLCMember_A89B99C398525D8E90B5B895CE6C3ED9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_ChiaroTechnologiesLLCMember_A89B99C398525D8E90B5B895CE6C3ED9" xlink:to="lab_cgnx_ChiaroTechnologiesLLCMember_A89B99C398525D8E90B5B895CE6C3ED9" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis_2CDD957DEB753AF40DD1B895CE6C72F6_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis_2CDD957DEB753AF40DD1B895CE6C72F6" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair Value, Hierarchy [Axis]</link:label>
    <link:label id="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis_2CDD957DEB753AF40DD1B895CE6C72F6_label_en-US" xlink:label="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis_2CDD957DEB753AF40DD1B895CE6C72F6" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Hierarchy [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_2CDD957DEB753AF40DD1B895CE6C72F6" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_2CDD957DEB753AF40DD1B895CE6C72F6" xlink:to="lab_us-gaap_FairValueByFairValueHierarchyLevelAxis_2CDD957DEB753AF40DD1B895CE6C72F6" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_BDD48DE2A5884A55AC01B895CE6C4E8C_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_BDD48DE2A5884A55AC01B895CE6C4E8C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Fair Value Hierarchy [Domain]</link:label>
    <link:label id="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_BDD48DE2A5884A55AC01B895CE6C4E8C_label_en-US" xlink:label="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_BDD48DE2A5884A55AC01B895CE6C4E8C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value Hierarchy [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_BDD48DE2A5884A55AC01B895CE6C4E8C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_BDD48DE2A5884A55AC01B895CE6C4E8C" xlink:to="lab_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_BDD48DE2A5884A55AC01B895CE6C4E8C" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueInputsLevel3Member_C632FC5F62440A6603FAB895CE6D02F5_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel3Member_C632FC5F62440A6603FAB895CE6D02F5" 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_C632FC5F62440A6603FAB895CE6D02F5_label_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel3Member_C632FC5F62440A6603FAB895CE6D02F5" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueInputsLevel3Member" xlink:label="loc_us-gaap_FairValueInputsLevel3Member_C632FC5F62440A6603FAB895CE6D02F5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueInputsLevel3Member_C632FC5F62440A6603FAB895CE6D02F5" xlink:to="lab_us-gaap_FairValueInputsLevel3Member_C632FC5F62440A6603FAB895CE6D02F5" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueByMeasurementFrequencyAxis_9D4400FBA4EDEF841B59B895CE6DD4EB_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueByMeasurementFrequencyAxis_9D4400FBA4EDEF841B59B895CE6DD4EB" 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_9D4400FBA4EDEF841B59B895CE6DD4EB_label_en-US" xlink:label="lab_us-gaap_FairValueByMeasurementFrequencyAxis_9D4400FBA4EDEF841B59B895CE6DD4EB" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="loc_us-gaap_FairValueByMeasurementFrequencyAxis_9D4400FBA4EDEF841B59B895CE6DD4EB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueByMeasurementFrequencyAxis_9D4400FBA4EDEF841B59B895CE6DD4EB" xlink:to="lab_us-gaap_FairValueByMeasurementFrequencyAxis_9D4400FBA4EDEF841B59B895CE6DD4EB" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueMeasurementFrequencyDomain_531E23A3C9BCECE7D99BB895CE6D4689_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementFrequencyDomain_531E23A3C9BCECE7D99BB895CE6D4689" 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_531E23A3C9BCECE7D99BB895CE6D4689_label_en-US" xlink:label="lab_us-gaap_FairValueMeasurementFrequencyDomain_531E23A3C9BCECE7D99BB895CE6D4689" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain_531E23A3C9BCECE7D99BB895CE6D4689" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementFrequencyDomain_531E23A3C9BCECE7D99BB895CE6D4689" xlink:to="lab_us-gaap_FairValueMeasurementFrequencyDomain_531E23A3C9BCECE7D99BB895CE6D4689" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueMeasurementsRecurringMember_8BDB99865608C60010F6B895CE6D6273_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementsRecurringMember_8BDB99865608C60010F6B895CE6D6273" 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_8BDB99865608C60010F6B895CE6D6273_label_en-US" xlink:label="lab_us-gaap_FairValueMeasurementsRecurringMember_8BDB99865608C60010F6B895CE6D6273" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueMeasurementsRecurringMember" xlink:label="loc_us-gaap_FairValueMeasurementsRecurringMember_8BDB99865608C60010F6B895CE6D6273" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementsRecurringMember_8BDB99865608C60010F6B895CE6D6273" xlink:to="lab_us-gaap_FairValueMeasurementsRecurringMember_8BDB99865608C60010F6B895CE6D6273" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_A1B6E5CAE90CDA645178B895CE6E5098_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_A1B6E5CAE90CDA645178B895CE6E5098" 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_A1B6E5CAE90CDA645178B895CE6E5098_label_en-US" xlink:label="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_A1B6E5CAE90CDA645178B895CE6E5098" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:label="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_A1B6E5CAE90CDA645178B895CE6E5098" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_A1B6E5CAE90CDA645178B895CE6E5098" xlink:to="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_A1B6E5CAE90CDA645178B895CE6E5098" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_C05086378034297A5718B895CE6E7868_periodStartLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_C05086378034297A5718B895CE6E7868" 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_C05086378034297A5718B895CE6E7868_label_en-US" xlink:label="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_C05086378034297A5718B895CE6E7868" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Fair Value, Measurement with Unobservable Inputs Reconciliations, Recurring Basis, Liability Value</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" xlink:label="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_C05086378034297A5718B895CE6E7868" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_C05086378034297A5718B895CE6E7868" xlink:to="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_C05086378034297A5718B895CE6E7868" xlink:type="arc" />
    <link:label id="lab_us-gaap_LiabilitiesFairValueAdjustment_8ED57EB47611C1B56C1CB895CE6E20A3_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesFairValueAdjustment_8ED57EB47611C1B56C1CB895CE6E20A3" 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_8ED57EB47611C1B56C1CB895CE6E20A3_label_en-US" xlink:label="lab_us-gaap_LiabilitiesFairValueAdjustment_8ED57EB47611C1B56C1CB895CE6E20A3" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LiabilitiesFairValueAdjustment" xlink:label="loc_us-gaap_LiabilitiesFairValueAdjustment_8ED57EB47611C1B56C1CB895CE6E20A3" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesFairValueAdjustment_8ED57EB47611C1B56C1CB895CE6E20A3" xlink:to="lab_us-gaap_LiabilitiesFairValueAdjustment_8ED57EB47611C1B56C1CB895CE6E20A3" xlink:type="arc" />
    <link:label id="lab_cgnx_Paymentofcontingentconsideration_D8DDC5188C12B44EDABCB895CE6E7D53_negatedLabel_en-US" xlink:label="lab_cgnx_Paymentofcontingentconsideration_D8DDC5188C12B44EDABCB895CE6E7D53" 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_D8DDC5188C12B44EDABCB895CE6E7D53_label_en-US" xlink:label="lab_cgnx_Paymentofcontingentconsideration_D8DDC5188C12B44EDABCB895CE6E7D53" 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_D8DDC5188C12B44EDABCB895CE6E7D53_documentation_en-US" xlink:label="lab_cgnx_Paymentofcontingentconsideration_D8DDC5188C12B44EDABCB895CE6E7D53" 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-20180701.xsd#cgnx_Paymentofcontingentconsideration" xlink:label="loc_cgnx_Paymentofcontingentconsideration_D8DDC5188C12B44EDABCB895CE6E7D53" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_Paymentofcontingentconsideration_D8DDC5188C12B44EDABCB895CE6E7D53" xlink:to="lab_cgnx_Paymentofcontingentconsideration_D8DDC5188C12B44EDABCB895CE6E7D53" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_3241FA08B7B4EED90B9AB895CE6E0770_periodEndLabel_en-US" xlink:label="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_3241FA08B7B4EED90B9AB895CE6E0770" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" xlink:label="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_3241FA08B7B4EED90B9AB895CE6E0770" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_3241FA08B7B4EED90B9AB895CE6E0770" xlink:to="lab_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_3241FA08B7B4EED90B9AB895CE6E0770" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_F9608DB181DC9CCC0FAAB895CDC42316_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_F9608DB181DC9CCC0FAAB895CDC42316" 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_F9608DB181DC9CCC0FAAB895CDC42316_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_F9608DB181DC9CCC0FAAB895CDC42316" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_F9608DB181DC9CCC0FAAB895CDC42316" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_F9608DB181DC9CCC0FAAB895CDC42316" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_F9608DB181DC9CCC0FAAB895CDC42316" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_A1247C87B66A4275C19EB895CDC58209_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_A1247C87B66A4275C19EB895CDC58209" 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_A1247C87B66A4275C19EB895CDC58209_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_A1247C87B66A4275C19EB895CDC58209" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_A1247C87B66A4275C19EB895CDC58209" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_A1247C87B66A4275C19EB895CDC58209" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_A1247C87B66A4275C19EB895CDC58209" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_4C4A3C1AE94CCA35D1F6B895CDC5CB01_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_4C4A3C1AE94CCA35D1F6B895CDC5CB01" 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_4C4A3C1AE94CCA35D1F6B895CDC5CB01_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_4C4A3C1AE94CCA35D1F6B895CDC5CB01" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_4C4A3C1AE94CCA35D1F6B895CDC5CB01" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_4C4A3C1AE94CCA35D1F6B895CDC5CB01" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_4C4A3C1AE94CCA35D1F6B895CDC5CB01" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_3F9EBBB149102CFC5EC3B895CDC5DACB_negatedLabel_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_3F9EBBB149102CFC5EC3B895CDC5DACB" 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_3F9EBBB149102CFC5EC3B895CDC5DACB_label_en-US" xlink:label="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_3F9EBBB149102CFC5EC3B895CDC5DACB" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_3F9EBBB149102CFC5EC3B895CDC5DACB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_3F9EBBB149102CFC5EC3B895CDC5DACB" xlink:to="lab_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_3F9EBBB149102CFC5EC3B895CDC5DACB" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_D3D48485624E765486F3B895CDC5F2BD_negatedLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_D3D48485624E765486F3B895CDC5F2BD" 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_D3D48485624E765486F3B895CDC5F2BD_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_D3D48485624E765486F3B895CDC5F2BD" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_D3D48485624E765486F3B895CDC5F2BD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_D3D48485624E765486F3B895CDC5F2BD" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_D3D48485624E765486F3B895CDC5F2BD" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_518D310C0BF9427F99CDB895CDC5008E_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_518D310C0BF9427F99CDB895CDC5008E" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_518D310C0BF9427F99CDB895CDC5008E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_518D310C0BF9427F99CDB895CDC5008E" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_518D310C0BF9427F99CDB895CDC5008E" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_F75F846C68E5BF61B0B2B895CDC6C2D3_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_F75F846C68E5BF61B0B2B895CDC6C2D3" 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_F75F846C68E5BF61B0B2B895CDC6C2D3_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_F75F846C68E5BF61B0B2B895CDC6C2D3" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_F75F846C68E5BF61B0B2B895CDC6C2D3" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_F75F846C68E5BF61B0B2B895CDC6C2D3" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_F75F846C68E5BF61B0B2B895CDC6C2D3" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber_B10ACC0BD3C5F2756B5BB895CDC685A7_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber_B10ACC0BD3C5F2756B5BB895CDC685A7" 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_B10ACC0BD3C5F2756B5BB895CDC685A7_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber_B10ACC0BD3C5F2756B5BB895CDC685A7" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber_B10ACC0BD3C5F2756B5BB895CDC685A7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber_B10ACC0BD3C5F2756B5BB895CDC685A7" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber_B10ACC0BD3C5F2756B5BB895CDC685A7" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_93B684A608F5BACEE882B895CDC62111_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_93B684A608F5BACEE882B895CDC62111" 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_93B684A608F5BACEE882B895CDC62111_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_93B684A608F5BACEE882B895CDC62111" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_93B684A608F5BACEE882B895CDC62111" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_93B684A608F5BACEE882B895CDC62111" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_93B684A608F5BACEE882B895CDC62111" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_54B61E6199594C7509FEB895CDC6EE7F_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_54B61E6199594C7509FEB895CDC6EE7F" 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_54B61E6199594C7509FEB895CDC6EE7F_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_54B61E6199594C7509FEB895CDC6EE7F" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_54B61E6199594C7509FEB895CDC6EE7F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_54B61E6199594C7509FEB895CDC6EE7F" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_54B61E6199594C7509FEB895CDC6EE7F" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_FD9471DF02ACE4D0C20EB895CDC6224C_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_FD9471DF02ACE4D0C20EB895CDC6224C" 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_FD9471DF02ACE4D0C20EB895CDC6224C_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_FD9471DF02ACE4D0C20EB895CDC6224C" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_FD9471DF02ACE4D0C20EB895CDC6224C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_FD9471DF02ACE4D0C20EB895CDC6224C" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_FD9471DF02ACE4D0C20EB895CDC6224C" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_A610C0E012BDCFD36F36B895CDC68958_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_A610C0E012BDCFD36F36B895CDC68958" 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_A610C0E012BDCFD36F36B895CDC68958_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_A610C0E012BDCFD36F36B895CDC68958" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_A610C0E012BDCFD36F36B895CDC68958" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_A610C0E012BDCFD36F36B895CDC68958" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_A610C0E012BDCFD36F36B895CDC68958" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_3C5D2C95EC9D2CE42CD0B895CDC7B035_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_3C5D2C95EC9D2CE42CD0B895CDC7B035" 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_3C5D2C95EC9D2CE42CD0B895CDC7B035_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_3C5D2C95EC9D2CE42CD0B895CDC7B035" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_3C5D2C95EC9D2CE42CD0B895CDC7B035" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_3C5D2C95EC9D2CE42CD0B895CDC7B035" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_3C5D2C95EC9D2CE42CD0B895CDC7B035" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_B441600C93945CB30DE3B895CDC7CC2E_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_B441600C93945CB30DE3B895CDC7CC2E" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_B441600C93945CB30DE3B895CDC7CC2E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_B441600C93945CB30DE3B895CDC7CC2E" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_B441600C93945CB30DE3B895CDC7CC2E" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_367BD1A755BCB11BD015B895CDC7A1BA_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_367BD1A755BCB11BD015B895CDC7A1BA" 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_367BD1A755BCB11BD015B895CDC7A1BA_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_367BD1A755BCB11BD015B895CDC7A1BA" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_367BD1A755BCB11BD015B895CDC7A1BA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_367BD1A755BCB11BD015B895CDC7A1BA" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_367BD1A755BCB11BD015B895CDC7A1BA" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_9E68E77FF0FB4A47265EB895CDC7E484_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_9E68E77FF0FB4A47265EB895CDC7E484" 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_9E68E77FF0FB4A47265EB895CDC7E484_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_9E68E77FF0FB4A47265EB895CDC7E484" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_9E68E77FF0FB4A47265EB895CDC7E484" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_9E68E77FF0FB4A47265EB895CDC7E484" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_9E68E77FF0FB4A47265EB895CDC7E484" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_E64CEB82F7878D9163F3B895CDC7BC4A_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_E64CEB82F7878D9163F3B895CDC7BC4A" 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_E64CEB82F7878D9163F3B895CDC7BC4A_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_E64CEB82F7878D9163F3B895CDC7BC4A" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_E64CEB82F7878D9163F3B895CDC7BC4A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_E64CEB82F7878D9163F3B895CDC7BC4A" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_E64CEB82F7878D9163F3B895CDC7BC4A" xlink:type="arc" />
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_DF48B55A3D59E1DCCC3CB895CDC8B0C1_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_DF48B55A3D59E1DCCC3CB895CDC8B0C1" 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_DF48B55A3D59E1DCCC3CB895CDC8B0C1_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_DF48B55A3D59E1DCCC3CB895CDC8B0C1" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_DF48B55A3D59E1DCCC3CB895CDC8B0C1" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_DF48B55A3D59E1DCCC3CB895CDC8B0C1" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_DF48B55A3D59E1DCCC3CB895CDC8B0C1" xlink:type="arc" />
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_C7E28CCFEB257ED5BD94B895CDC8CCE2_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_C7E28CCFEB257ED5BD94B895CDC8CCE2" 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_C7E28CCFEB257ED5BD94B895CDC8CCE2_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_C7E28CCFEB257ED5BD94B895CDC8CCE2" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_C7E28CCFEB257ED5BD94B895CDC8CCE2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_C7E28CCFEB257ED5BD94B895CDC8CCE2" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_C7E28CCFEB257ED5BD94B895CDC8CCE2" xlink:type="arc" />
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_CCEBD0DED5E92854303BB895CDC8D7F1_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_CCEBD0DED5E92854303BB895CDC8D7F1" 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_CCEBD0DED5E92854303BB895CDC8D7F1_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_CCEBD0DED5E92854303BB895CDC8D7F1" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_CCEBD0DED5E92854303BB895CDC8D7F1" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_CCEBD0DED5E92854303BB895CDC8D7F1" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_CCEBD0DED5E92854303BB895CDC8D7F1" xlink:type="arc" />
    <link:label id="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract_A72465DF709575B60739B895CDC80A7D_terseLabel_en-US" xlink:label="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract_A72465DF709575B60739B895CDC80A7D" 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_A72465DF709575B60739B895CDC80A7D_label_en-US" xlink:label="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract_A72465DF709575B60739B895CDC80A7D" 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_A72465DF709575B60739B895CDC80A7D_documentation_en-US" xlink:label="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract_A72465DF709575B60739B895CDC80A7D" 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-20180701.xsd#cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract" xlink:label="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract_A72465DF709575B60739B895CDC80A7D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract_A72465DF709575B60739B895CDC80A7D" xlink:to="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract_A72465DF709575B60739B895CDC80A7D" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_89296C4CC887515DE45FB895CDC8EB71_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_89296C4CC887515DE45FB895CDC8EB71" 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_89296C4CC887515DE45FB895CDC8EB71_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_89296C4CC887515DE45FB895CDC8EB71" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_89296C4CC887515DE45FB895CDC8EB71" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_89296C4CC887515DE45FB895CDC8EB71" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_89296C4CC887515DE45FB895CDC8EB71" xlink:type="arc" />
    <link:label id="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue_A188B9A765F2B0DD5EBEB895CDC92ACE_terseLabel_en-US" xlink:label="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue_A188B9A765F2B0DD5EBEB895CDC92ACE" 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_A188B9A765F2B0DD5EBEB895CDC92ACE_label_en-US" xlink:label="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue_A188B9A765F2B0DD5EBEB895CDC92ACE" 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_A188B9A765F2B0DD5EBEB895CDC92ACE_documentation_en-US" xlink:label="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue_A188B9A765F2B0DD5EBEB895CDC92ACE" 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-20180701.xsd#cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue" xlink:label="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue_A188B9A765F2B0DD5EBEB895CDC92ACE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue_A188B9A765F2B0DD5EBEB895CDC92ACE" xlink:to="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue_A188B9A765F2B0DD5EBEB895CDC92ACE" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_18F00AEC2DE32128DE8AB895CDC92B0D_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_18F00AEC2DE32128DE8AB895CDC92B0D" 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_18F00AEC2DE32128DE8AB895CDC92B0D_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_18F00AEC2DE32128DE8AB895CDC92B0D" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_18F00AEC2DE32128DE8AB895CDC92B0D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_18F00AEC2DE32128DE8AB895CDC92B0D" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_18F00AEC2DE32128DE8AB895CDC92B0D" xlink:type="arc" />
    <link:label id="lab_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_44E6E9CA43C3787EE2B194A150BA1B50_label_en-US" xlink:label="lab_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_44E6E9CA43C3787EE2B194A150BA1B50" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:label="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_44E6E9CA43C3787EE2B194A150BA1B50" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_44E6E9CA43C3787EE2B194A150BA1B50" xlink:to="lab_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_44E6E9CA43C3787EE2B194A150BA1B50" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax_19369CEF9769DD8760F794A150BA9736_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax_19369CEF9769DD8760F794A150BA9736" 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_19369CEF9769DD8760F794A150BA9736_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax_19369CEF9769DD8760F794A150BA9736" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax_19369CEF9769DD8760F794A150BA9736" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax_19369CEF9769DD8760F794A150BA9736" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax_19369CEF9769DD8760F794A150BA9736" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_6BB26D35DBFB4AA6265194A150BAE715_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_6BB26D35DBFB4AA6265194A150BAE715" 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_6BB26D35DBFB4AA6265194A150BAE715_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_6BB26D35DBFB4AA6265194A150BAE715" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Comprehensive Income (Loss), Unrealized Holding Gain (Loss) on Securities Arising During Period, Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_6BB26D35DBFB4AA6265194A150BAE715" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_6BB26D35DBFB4AA6265194A150BAE715" xlink:to="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_6BB26D35DBFB4AA6265194A150BAE715" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax_7C004BABF38F620BF2FC94A150BAB7A7_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax_7C004BABF38F620BF2FC94A150BAB7A7" 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_7C004BABF38F620BF2FC94A150BAB7A7_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax_7C004BABF38F620BF2FC94A150BAB7A7" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax_7C004BABF38F620BF2FC94A150BAB7A7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax_7C004BABF38F620BF2FC94A150BAB7A7" xlink:to="lab_us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax_7C004BABF38F620BF2FC94A150BAB7A7" xlink:type="arc" />
    <link:label id="lab_us-gaap_InventoryDisclosureAbstract_698570E938B1DB4A22CE94A1517578C1_label_en-US" xlink:label="lab_us-gaap_InventoryDisclosureAbstract_698570E938B1DB4A22CE94A1517578C1" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaap_InventoryDisclosureAbstract_698570E938B1DB4A22CE94A1517578C1" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryDisclosureAbstract_698570E938B1DB4A22CE94A1517578C1" xlink:to="lab_us-gaap_InventoryDisclosureAbstract_698570E938B1DB4A22CE94A1517578C1" xlink:type="arc" />
    <link:label id="lab_us-gaap_InventoryDisclosureTextBlock_5D7642C002EE21C31E9094A151754CA7_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryDisclosureTextBlock_5D7642C002EE21C31E9094A151754CA7" 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_5D7642C002EE21C31E9094A151754CA7_label_en-US" xlink:label="lab_us-gaap_InventoryDisclosureTextBlock_5D7642C002EE21C31E9094A151754CA7" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="loc_us-gaap_InventoryDisclosureTextBlock_5D7642C002EE21C31E9094A151754CA7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryDisclosureTextBlock_5D7642C002EE21C31E9094A151754CA7" xlink:to="lab_us-gaap_InventoryDisclosureTextBlock_5D7642C002EE21C31E9094A151754CA7" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_F5C6B294439D35C664ABADCB50516388_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_F5C6B294439D35C664ABADCB50516388" 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_F5C6B294439D35C664ABADCB50516388_label_en-US" xlink:label="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_F5C6B294439D35C664ABADCB50516388" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesTable" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_F5C6B294439D35C664ABADCB50516388" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_F5C6B294439D35C664ABADCB50516388" xlink:to="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_F5C6B294439D35C664ABADCB50516388" xlink:type="arc" />
    <link:label id="lab_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_93C5A735A0D5DC1EA887ADCB5051FE2F_terseLabel_en-US" xlink:label="lab_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_93C5A735A0D5DC1EA887ADCB5051FE2F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Major Types of Debt and Equity Securities [Axis]</link:label>
    <link:label id="lab_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_93C5A735A0D5DC1EA887ADCB5051FE2F_label_en-US" xlink:label="lab_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_93C5A735A0D5DC1EA887ADCB5051FE2F" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Major Types of Debt and Equity Securities [Axis]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_93C5A735A0D5DC1EA887ADCB5051FE2F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_93C5A735A0D5DC1EA887ADCB5051FE2F" xlink:to="lab_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_93C5A735A0D5DC1EA887ADCB5051FE2F" xlink:type="arc" />
    <link:label id="lab_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_29990416251CA2D29CE6ADCB5051DC71_terseLabel_en-US" xlink:label="lab_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_29990416251CA2D29CE6ADCB5051DC71" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Major Types of Debt and Equity Securities [Domain]</link:label>
    <link:label id="lab_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_29990416251CA2D29CE6ADCB5051DC71_label_en-US" xlink:label="lab_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_29990416251CA2D29CE6ADCB5051DC71" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Major Types of Debt and Equity Securities [Domain]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_29990416251CA2D29CE6ADCB5051DC71" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_29990416251CA2D29CE6ADCB5051DC71" xlink:to="lab_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_29990416251CA2D29CE6ADCB5051DC71" xlink:type="arc" />
    <link:label id="lab_us-gaap_USTreasurySecuritiesMember_B36221E3938A1194460BADCB505239F2_terseLabel_en-US" xlink:label="lab_us-gaap_USTreasurySecuritiesMember_B36221E3938A1194460BADCB505239F2" 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_B36221E3938A1194460BADCB505239F2_label_en-US" xlink:label="lab_us-gaap_USTreasurySecuritiesMember_B36221E3938A1194460BADCB505239F2" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_USTreasurySecuritiesMember" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_B36221E3938A1194460BADCB505239F2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_USTreasurySecuritiesMember_B36221E3938A1194460BADCB505239F2" xlink:to="lab_us-gaap_USTreasurySecuritiesMember_B36221E3938A1194460BADCB505239F2" xlink:type="arc" />
    <link:label id="lab_us-gaap_CorporateBondSecuritiesMember_5A697FF64967183477BEADCB505211D3_terseLabel_en-US" xlink:label="lab_us-gaap_CorporateBondSecuritiesMember_5A697FF64967183477BEADCB505211D3" 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_5A697FF64967183477BEADCB505211D3_label_en-US" xlink:label="lab_us-gaap_CorporateBondSecuritiesMember_5A697FF64967183477BEADCB505211D3" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CorporateBondSecuritiesMember" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_5A697FF64967183477BEADCB505211D3" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CorporateBondSecuritiesMember_5A697FF64967183477BEADCB505211D3" xlink:to="lab_us-gaap_CorporateBondSecuritiesMember_5A697FF64967183477BEADCB505211D3" xlink:type="arc" />
    <link:label id="lab_us-gaap_AssetBackedSecuritiesMember_F160D6AD9148B3A23E1BADCB50528000_terseLabel_en-US" xlink:label="lab_us-gaap_AssetBackedSecuritiesMember_F160D6AD9148B3A23E1BADCB50528000" 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_F160D6AD9148B3A23E1BADCB50528000_label_en-US" xlink:label="lab_us-gaap_AssetBackedSecuritiesMember_F160D6AD9148B3A23E1BADCB50528000" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AssetBackedSecuritiesMember" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_F160D6AD9148B3A23E1BADCB50528000" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetBackedSecuritiesMember_F160D6AD9148B3A23E1BADCB50528000" xlink:to="lab_us-gaap_AssetBackedSecuritiesMember_F160D6AD9148B3A23E1BADCB50528000" xlink:type="arc" />
    <link:label id="lab_us-gaap_SovereignDebtSecuritiesMember_CF5718C8401048747AEDADCB50521D53_terseLabel_en-US" xlink:label="lab_us-gaap_SovereignDebtSecuritiesMember_CF5718C8401048747AEDADCB50521D53" 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_CF5718C8401048747AEDADCB50521D53_label_en-US" xlink:label="lab_us-gaap_SovereignDebtSecuritiesMember_CF5718C8401048747AEDADCB50521D53" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SovereignDebtSecuritiesMember" xlink:label="loc_us-gaap_SovereignDebtSecuritiesMember_CF5718C8401048747AEDADCB50521D53" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SovereignDebtSecuritiesMember_CF5718C8401048747AEDADCB50521D53" xlink:to="lab_us-gaap_SovereignDebtSecuritiesMember_CF5718C8401048747AEDADCB50521D53" xlink:type="arc" />
    <link:label id="lab_cgnx_AgencyBondsMember_747BBEE23E919D90C22FADCB5053D675_terseLabel_en-US" xlink:label="lab_cgnx_AgencyBondsMember_747BBEE23E919D90C22FADCB5053D675" 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_747BBEE23E919D90C22FADCB5053D675_label_en-US" xlink:label="lab_cgnx_AgencyBondsMember_747BBEE23E919D90C22FADCB5053D675" 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_747BBEE23E919D90C22FADCB5053D675_documentation_en-US" xlink:label="lab_cgnx_AgencyBondsMember_747BBEE23E919D90C22FADCB5053D675" 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-20180701.xsd#cgnx_AgencyBondsMember" xlink:label="loc_cgnx_AgencyBondsMember_747BBEE23E919D90C22FADCB5053D675" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_AgencyBondsMember_747BBEE23E919D90C22FADCB5053D675" xlink:to="lab_cgnx_AgencyBondsMember_747BBEE23E919D90C22FADCB5053D675" xlink:type="arc" />
    <link:label id="lab_us-gaap_MunicipalBondsMember_9BECB1AD36777DE5DF04ADCB50532AD0_terseLabel_en-US" xlink:label="lab_us-gaap_MunicipalBondsMember_9BECB1AD36777DE5DF04ADCB50532AD0" 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_9BECB1AD36777DE5DF04ADCB50532AD0_label_en-US" xlink:label="lab_us-gaap_MunicipalBondsMember_9BECB1AD36777DE5DF04ADCB50532AD0" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MunicipalBondsMember" xlink:label="loc_us-gaap_MunicipalBondsMember_9BECB1AD36777DE5DF04ADCB50532AD0" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MunicipalBondsMember_9BECB1AD36777DE5DF04ADCB50532AD0" xlink:to="lab_us-gaap_MunicipalBondsMember_9BECB1AD36777DE5DF04ADCB50532AD0" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_23890B598E976BD42EB1ADCB50535275_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_23890B598E976BD42EB1ADCB50535275" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Schedule of Available-for-sale Securities [Line Items]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_23890B598E976BD42EB1ADCB50535275_label_en-US" xlink:label="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_23890B598E976BD42EB1ADCB50535275" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Available-for-sale Securities [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_23890B598E976BD42EB1ADCB50535275" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_23890B598E976BD42EB1ADCB50535275" xlink:to="lab_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_23890B598E976BD42EB1ADCB50535275" xlink:type="arc" />
    <link:label id="lab_us-gaap_Cash_6DEC40A0C500C135A9E6ADCB5053C785_terseLabel_en-US" xlink:label="lab_us-gaap_Cash_6DEC40A0C500C135A9E6ADCB5053C785" 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_6DEC40A0C500C135A9E6ADCB5053C785_label_en-US" xlink:label="lab_us-gaap_Cash_6DEC40A0C500C135A9E6ADCB5053C785" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_Cash" xlink:label="loc_us-gaap_Cash_6DEC40A0C500C135A9E6ADCB5053C785" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Cash_6DEC40A0C500C135A9E6ADCB5053C785" xlink:to="lab_us-gaap_Cash_6DEC40A0C500C135A9E6ADCB5053C785" xlink:type="arc" />
    <link:label id="lab_us-gaap_MoneyMarketFundsAtCarryingValue_68A5E04EAC5F6CC80CC3ADCB50533D27_terseLabel_en-US" xlink:label="lab_us-gaap_MoneyMarketFundsAtCarryingValue_68A5E04EAC5F6CC80CC3ADCB50533D27" 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_68A5E04EAC5F6CC80CC3ADCB50533D27_label_en-US" xlink:label="lab_us-gaap_MoneyMarketFundsAtCarryingValue_68A5E04EAC5F6CC80CC3ADCB50533D27" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MoneyMarketFundsAtCarryingValue" xlink:label="loc_us-gaap_MoneyMarketFundsAtCarryingValue_68A5E04EAC5F6CC80CC3ADCB50533D27" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MoneyMarketFundsAtCarryingValue_68A5E04EAC5F6CC80CC3ADCB50533D27" xlink:to="lab_us-gaap_MoneyMarketFundsAtCarryingValue_68A5E04EAC5F6CC80CC3ADCB50533D27" xlink:type="arc" />
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_D3CCEE812B0FE9CC7D36ADCB50532344_totalLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_D3CCEE812B0FE9CC7D36ADCB50532344" 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_D3CCEE812B0FE9CC7D36ADCB50532344_label_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_D3CCEE812B0FE9CC7D36ADCB50532344" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_D3CCEE812B0FE9CC7D36ADCB50532344" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_D3CCEE812B0FE9CC7D36ADCB50532344" xlink:to="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_D3CCEE812B0FE9CC7D36ADCB50532344" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_AE162099E871BACF9D56ADCB5053D1C2_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_AE162099E871BACF9D56ADCB5053D1C2" 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_AvailableForSaleSecuritiesDebtSecuritiesCurrent_AE162099E871BACF9D56ADCB5053D1C2_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_AE162099E871BACF9D56ADCB5053D1C2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available-for-sale Securities, Debt Securities, Current</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_AE162099E871BACF9D56ADCB5053D1C2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_AE162099E871BACF9D56ADCB5053D1C2" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_AE162099E871BACF9D56ADCB5053D1C2" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_A493D711D2F68AF8B600ADCB5054862A_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_A493D711D2F68AF8B600ADCB5054862A" 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_A493D711D2F68AF8B600ADCB5054862A_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_A493D711D2F68AF8B600ADCB5054862A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available-for-sale Securities, Debt Securities, Noncurrent</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_A493D711D2F68AF8B600ADCB5054862A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_A493D711D2F68AF8B600ADCB5054862A" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_A493D711D2F68AF8B600ADCB5054862A" xlink:type="arc" />
    <link:label id="lab_us-gaap_LongTermInvestments_FDC6CF8E4F1FE67718C3ADCB505496B4_terseLabel_en-US" xlink:label="lab_us-gaap_LongTermInvestments_FDC6CF8E4F1FE67718C3ADCB505496B4" 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_LongTermInvestments_FDC6CF8E4F1FE67718C3ADCB505496B4_label_en-US" xlink:label="lab_us-gaap_LongTermInvestments_FDC6CF8E4F1FE67718C3ADCB505496B4" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LongTermInvestments" xlink:label="loc_us-gaap_LongTermInvestments_FDC6CF8E4F1FE67718C3ADCB505496B4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LongTermInvestments_FDC6CF8E4F1FE67718C3ADCB505496B4" xlink:to="lab_us-gaap_LongTermInvestments_FDC6CF8E4F1FE67718C3ADCB505496B4" xlink:type="arc" />
    <link:label id="lab_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_076689E9640DB8196644ADCB5054FA55_totalLabel_en-US" xlink:label="lab_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_076689E9640DB8196644ADCB5054FA55" 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_076689E9640DB8196644ADCB5054FA55_label_en-US" xlink:label="lab_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_076689E9640DB8196644ADCB5054FA55" 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_076689E9640DB8196644ADCB5054FA55_documentation_en-US" xlink:label="lab_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_076689E9640DB8196644ADCB5054FA55" 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-20180701.xsd#cgnx_CashCashEquivalentsShortTermAndLongTermInvestments" xlink:label="loc_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_076689E9640DB8196644ADCB5054FA55" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_076689E9640DB8196644ADCB5054FA55" xlink:to="lab_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_076689E9640DB8196644ADCB5054FA55" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_C38ABF825012F7EC7916A9F25C76784D_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_C38ABF825012F7EC7916A9F25C76784D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range [Table]</link:label>
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_C38ABF825012F7EC7916A9F25C76784D_label_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_C38ABF825012F7EC7916A9F25C76784D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Schedule of Share-based Compensation, Shares Authorized under Stock Option Plans, by Exercise Price Range [Table]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_C38ABF825012F7EC7916A9F25C76784D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_C38ABF825012F7EC7916A9F25C76784D" xlink:to="lab_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_C38ABF825012F7EC7916A9F25C76784D" xlink:type="arc" />
    <link:label id="lab_us-gaap_AwardTypeAxis_E6EB2C9FCA075F5A52DEA9F25C768AB2_terseLabel_en-US" xlink:label="lab_us-gaap_AwardTypeAxis_E6EB2C9FCA075F5A52DEA9F25C768AB2" 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_E6EB2C9FCA075F5A52DEA9F25C768AB2_label_en-US" xlink:label="lab_us-gaap_AwardTypeAxis_E6EB2C9FCA075F5A52DEA9F25C768AB2" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaap_AwardTypeAxis_E6EB2C9FCA075F5A52DEA9F25C768AB2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AwardTypeAxis_E6EB2C9FCA075F5A52DEA9F25C768AB2" xlink:to="lab_us-gaap_AwardTypeAxis_E6EB2C9FCA075F5A52DEA9F25C768AB2" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_31833E1A7D4C1AD8EBB0A9F25C76E2FD_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_31833E1A7D4C1AD8EBB0A9F25C76E2FD" 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_31833E1A7D4C1AD8EBB0A9F25C76E2FD_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_31833E1A7D4C1AD8EBB0A9F25C76E2FD" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_31833E1A7D4C1AD8EBB0A9F25C76E2FD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_31833E1A7D4C1AD8EBB0A9F25C76E2FD" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_31833E1A7D4C1AD8EBB0A9F25C76E2FD" xlink:type="arc" />
    <link:label id="lab_us-gaap_RestrictedStockMember_4BC377364B95E2639E5DA9F25C77D16E_terseLabel_en-US" xlink:label="lab_us-gaap_RestrictedStockMember_4BC377364B95E2639E5DA9F25C77D16E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Restricted Stock</link:label>
    <link:label id="lab_us-gaap_RestrictedStockMember_4BC377364B95E2639E5DA9F25C77D16E_label_en-US" xlink:label="lab_us-gaap_RestrictedStockMember_4BC377364B95E2639E5DA9F25C77D16E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Restricted Stock [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_RestrictedStockMember" xlink:label="loc_us-gaap_RestrictedStockMember_4BC377364B95E2639E5DA9F25C77D16E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RestrictedStockMember_4BC377364B95E2639E5DA9F25C77D16E" xlink:to="lab_us-gaap_RestrictedStockMember_4BC377364B95E2639E5DA9F25C77D16E" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_A3C37FC2BAF1749C7E9FA9F25C779A3B_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_A3C37FC2BAF1749C7E9FA9F25C779A3B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range [Line Items]</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_A3C37FC2BAF1749C7E9FA9F25C779A3B_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_A3C37FC2BAF1749C7E9FA9F25C779A3B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Share-based Compensation, Shares Authorized under Stock Option Plans, Exercise Price Range [Line Items]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:label="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_A3C37FC2BAF1749C7E9FA9F25C779A3B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_A3C37FC2BAF1749C7E9FA9F25C779A3B" xlink:to="lab_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_A3C37FC2BAF1749C7E9FA9F25C779A3B" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_9E0921D1CFD374EEC298A9F25C77C5DE_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_9E0921D1CFD374EEC298A9F25C77C5DE" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_9E0921D1CFD374EEC298A9F25C77C5DE_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_9E0921D1CFD374EEC298A9F25C77C5DE" 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, Nonvested, Number of Shares [Roll Forward]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_9E0921D1CFD374EEC298A9F25C77C5DE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_9E0921D1CFD374EEC298A9F25C77C5DE" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_9E0921D1CFD374EEC298A9F25C77C5DE" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_8F2EC6D7063A18DDE7D9A9F25C77D75E_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_8F2EC6D7063A18DDE7D9A9F25C77D75E" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Nonvested, shares</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_8F2EC6D7063A18DDE7D9A9F25C77D75E_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_8F2EC6D7063A18DDE7D9A9F25C77D75E" 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, Nonvested, Number</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_8F2EC6D7063A18DDE7D9A9F25C77D75E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_8F2EC6D7063A18DDE7D9A9F25C77D75E" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_8F2EC6D7063A18DDE7D9A9F25C77D75E" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_0061ACC607A0BB6C00F7A9F25C774510_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_0061ACC607A0BB6C00F7A9F25C774510" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_0061ACC607A0BB6C00F7A9F25C774510_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_0061ACC607A0BB6C00F7A9F25C774510" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_0061ACC607A0BB6C00F7A9F25C774510" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_0061ACC607A0BB6C00F7A9F25C774510" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_0061ACC607A0BB6C00F7A9F25C774510" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_72F5C892769E27F535CAA9F25C78B59A_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_72F5C892769E27F535CAA9F25C78B59A" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Vested, shares</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_72F5C892769E27F535CAA9F25C78B59A_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_72F5C892769E27F535CAA9F25C78B59A" 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, Vested in Period</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_72F5C892769E27F535CAA9F25C78B59A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_72F5C892769E27F535CAA9F25C78B59A" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_72F5C892769E27F535CAA9F25C78B59A" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_526AE0CB00263C38DA60A9F25C78465B_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_526AE0CB00263C38DA60A9F25C78465B" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Forfeited or expired, shares</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_526AE0CB00263C38DA60A9F25C78465B_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_526AE0CB00263C38DA60A9F25C78465B" 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, Forfeited in Period</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_526AE0CB00263C38DA60A9F25C78465B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_526AE0CB00263C38DA60A9F25C78465B" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_526AE0CB00263C38DA60A9F25C78465B" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_99F8276A9104B55FD826A9F25C780291_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_99F8276A9104B55FD826A9F25C780291" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Nonvested, shares</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_99F8276A9104B55FD826A9F25C780291" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_99F8276A9104B55FD826A9F25C780291" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_99F8276A9104B55FD826A9F25C780291" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_EC383F6FB956BCB1E168A9F25C78A2A1_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_EC383F6FB956BCB1E168A9F25C78A2A1" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Weighted-Average Grant Fair Value</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_EC383F6FB956BCB1E168A9F25C78A2A1_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_EC383F6FB956BCB1E168A9F25C78A2A1" 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, Nonvested, Weighted Average Grant Date Fair Value [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_EC383F6FB956BCB1E168A9F25C78A2A1" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_EC383F6FB956BCB1E168A9F25C78A2A1" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_EC383F6FB956BCB1E168A9F25C78A2A1" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_5EF3F7CBFCEDEAF55CE2A9F25C781847_periodStartLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_5EF3F7CBFCEDEAF55CE2A9F25C781847" xlink:role="http://www.xbrl.org/2003/role/periodStartLabel" xlink:type="resource" xml:lang="en-US">Nonvested, in dollars per share</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_5EF3F7CBFCEDEAF55CE2A9F25C781847_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_5EF3F7CBFCEDEAF55CE2A9F25C781847" 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, Nonvested, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_5EF3F7CBFCEDEAF55CE2A9F25C781847" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_5EF3F7CBFCEDEAF55CE2A9F25C781847" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_5EF3F7CBFCEDEAF55CE2A9F25C781847" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_AF42259899F978F1945DA9F25C787FE4_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_AF42259899F978F1945DA9F25C787FE4" 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_AF42259899F978F1945DA9F25C787FE4_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_AF42259899F978F1945DA9F25C787FE4" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_AF42259899F978F1945DA9F25C787FE4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_AF42259899F978F1945DA9F25C787FE4" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_AF42259899F978F1945DA9F25C787FE4" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_7B0D0348E525AADDC347A9F25C791FA5_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_7B0D0348E525AADDC347A9F25C791FA5" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Vested, in dollars per share</link:label>
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_7B0D0348E525AADDC347A9F25C791FA5_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_7B0D0348E525AADDC347A9F25C791FA5" 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, Vested in Period, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_7B0D0348E525AADDC347A9F25C791FA5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_7B0D0348E525AADDC347A9F25C791FA5" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_7B0D0348E525AADDC347A9F25C791FA5" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_B4DE14ACF8AD117D64A6A9F25C79A167_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_B4DE14ACF8AD117D64A6A9F25C79A167" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_B4DE14ACF8AD117D64A6A9F25C79A167_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_B4DE14ACF8AD117D64A6A9F25C79A167" 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, Forfeitures, Weighted Average Grant Date Fair Value</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_B4DE14ACF8AD117D64A6A9F25C79A167" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_B4DE14ACF8AD117D64A6A9F25C79A167" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_B4DE14ACF8AD117D64A6A9F25C79A167" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_7619F751433E834F9B0FA9F25C7E1773_periodEndLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_7619F751433E834F9B0FA9F25C7E1773" xlink:role="http://www.xbrl.org/2003/role/periodEndLabel" xlink:type="resource" xml:lang="en-US">Nonvested, in dollars per share</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_7619F751433E834F9B0FA9F25C7E1773" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_7619F751433E834F9B0FA9F25C7E1773" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_7619F751433E834F9B0FA9F25C7E1773" xlink:type="arc" />
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract_C4F555CD77BD58375678A9F25C7E3E5F_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract_C4F555CD77BD58375678A9F25C7E3E5F" 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_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract_C4F555CD77BD58375678A9F25C7E3E5F_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract_C4F555CD77BD58375678A9F25C7E3E5F" 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, Aggregate Intrinsic Value [Abstract]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract_C4F555CD77BD58375678A9F25C7E3E5F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract_C4F555CD77BD58375678A9F25C7E3E5F" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract_C4F555CD77BD58375678A9F25C7E3E5F" xlink:type="arc" />
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_DB26AC317E4CE4874F85A9F25C7E3BBB_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_DB26AC317E4CE4874F85A9F25C7E3BBB" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Vested</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_DB26AC317E4CE4874F85A9F25C7E3BBB_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_DB26AC317E4CE4874F85A9F25C7E3BBB" 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, Aggregate Intrinsic Value, Vested</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_DB26AC317E4CE4874F85A9F25C7E3BBB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_DB26AC317E4CE4874F85A9F25C7E3BBB" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_DB26AC317E4CE4874F85A9F25C7E3BBB" xlink:type="arc" />
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested_64923AA7979B9501B73EA9F25C7F377B_terseLabel_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested_64923AA7979B9501B73EA9F25C7F377B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Nonvested as of July 1, 2018</link:label>
    <link:label id="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested_64923AA7979B9501B73EA9F25C7F377B_label_en-US" xlink:label="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested_64923AA7979B9501B73EA9F25C7F377B" 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, Aggregate Intrinsic Value, Nonvested</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested_64923AA7979B9501B73EA9F25C7F377B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested_64923AA7979B9501B73EA9F25C7F377B" xlink:to="lab_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested_64923AA7979B9501B73EA9F25C7F377B" xlink:type="arc" />
    <link:label id="lab_us-gaap_InvestmentTypeAxis_662FCFA535AB0118AC57ADCBC5B12EF9_terseLabel_en-US" xlink:label="lab_us-gaap_InvestmentTypeAxis_662FCFA535AB0118AC57ADCBC5B12EF9" 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_662FCFA535AB0118AC57ADCBC5B12EF9_label_en-US" xlink:label="lab_us-gaap_InvestmentTypeAxis_662FCFA535AB0118AC57ADCBC5B12EF9" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InvestmentTypeAxis" xlink:label="loc_us-gaap_InvestmentTypeAxis_662FCFA535AB0118AC57ADCBC5B12EF9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InvestmentTypeAxis_662FCFA535AB0118AC57ADCBC5B12EF9" xlink:to="lab_us-gaap_InvestmentTypeAxis_662FCFA535AB0118AC57ADCBC5B12EF9" xlink:type="arc" />
    <link:label id="lab_us-gaap_InvestmentTypeCategorizationMember_DF53FC6938AD747D63ADADCBC5B131E3_terseLabel_en-US" xlink:label="lab_us-gaap_InvestmentTypeCategorizationMember_DF53FC6938AD747D63ADADCBC5B131E3" 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_DF53FC6938AD747D63ADADCBC5B131E3_label_en-US" xlink:label="lab_us-gaap_InvestmentTypeCategorizationMember_DF53FC6938AD747D63ADADCBC5B131E3" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InvestmentTypeCategorizationMember" xlink:label="loc_us-gaap_InvestmentTypeCategorizationMember_DF53FC6938AD747D63ADADCBC5B131E3" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InvestmentTypeCategorizationMember_DF53FC6938AD747D63ADADCBC5B131E3" xlink:to="lab_us-gaap_InvestmentTypeCategorizationMember_DF53FC6938AD747D63ADADCBC5B131E3" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShortTermInvestmentsMember_664909E91E0AB399E984ADCBC5B1E416_terseLabel_en-US" xlink:label="lab_us-gaap_ShortTermInvestmentsMember_664909E91E0AB399E984ADCBC5B1E416" 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_664909E91E0AB399E984ADCBC5B1E416_label_en-US" xlink:label="lab_us-gaap_ShortTermInvestmentsMember_664909E91E0AB399E984ADCBC5B1E416" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShortTermInvestmentsMember" xlink:label="loc_us-gaap_ShortTermInvestmentsMember_664909E91E0AB399E984ADCBC5B1E416" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShortTermInvestmentsMember_664909E91E0AB399E984ADCBC5B1E416" xlink:to="lab_us-gaap_ShortTermInvestmentsMember_664909E91E0AB399E984ADCBC5B1E416" xlink:type="arc" />
    <link:label id="lab_cgnx_LongTermInvestmentsMember_572FE0B275DB3A168DF3ADCBC5B19323_terseLabel_en-US" xlink:label="lab_cgnx_LongTermInvestmentsMember_572FE0B275DB3A168DF3ADCBC5B19323" 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_572FE0B275DB3A168DF3ADCBC5B19323_label_en-US" xlink:label="lab_cgnx_LongTermInvestmentsMember_572FE0B275DB3A168DF3ADCBC5B19323" 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_572FE0B275DB3A168DF3ADCBC5B19323_documentation_en-US" xlink:label="lab_cgnx_LongTermInvestmentsMember_572FE0B275DB3A168DF3ADCBC5B19323" 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-20180701.xsd#cgnx_LongTermInvestmentsMember" xlink:label="loc_cgnx_LongTermInvestmentsMember_572FE0B275DB3A168DF3ADCBC5B19323" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_LongTermInvestmentsMember_572FE0B275DB3A168DF3ADCBC5B19323" xlink:to="lab_cgnx_LongTermInvestmentsMember_572FE0B275DB3A168DF3ADCBC5B19323" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_88280209A8FD20D8BF15ADCBC5B2B073_totalLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_88280209A8FD20D8BF15ADCBC5B2B073" 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_88280209A8FD20D8BF15ADCBC5B2B073_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_88280209A8FD20D8BF15ADCBC5B2B073" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available-for-sale Debt Securities, Amortized Cost Basis</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_88280209A8FD20D8BF15ADCBC5B2B073" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_88280209A8FD20D8BF15ADCBC5B2B073" xlink:to="lab_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_88280209A8FD20D8BF15ADCBC5B2B073" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_FD2964B82C0745A90E73ADCBC5B7B95A_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_FD2964B82C0745A90E73ADCBC5B7B95A" 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_FD2964B82C0745A90E73ADCBC5B7B95A_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_FD2964B82C0745A90E73ADCBC5B7B95A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available-for-sale Debt Securities, Accumulated Gross Unrealized Gain, before Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_FD2964B82C0745A90E73ADCBC5B7B95A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_FD2964B82C0745A90E73ADCBC5B7B95A" xlink:to="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_FD2964B82C0745A90E73ADCBC5B7B95A" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_D3CDA6B73717980D7918ADCBC5B7B29A_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_D3CDA6B73717980D7918ADCBC5B7B29A" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Gross unrealized losses</link:label>
    <link:label id="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_D3CDA6B73717980D7918ADCBC5B7B29A_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_D3CDA6B73717980D7918ADCBC5B7B29A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available-for-sale Debt Securities, Accumulated Gross Unrealized Loss, before Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_D3CDA6B73717980D7918ADCBC5B7B29A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_D3CDA6B73717980D7918ADCBC5B7B29A" xlink:to="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_D3CDA6B73717980D7918ADCBC5B7B29A" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecurities_989F9EF4EB3977B706C4ADCBC5B79BB6_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecurities_989F9EF4EB3977B706C4ADCBC5B79BB6" 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_989F9EF4EB3977B706C4ADCBC5B79BB6_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecurities_989F9EF4EB3977B706C4ADCBC5B79BB6" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecurities" xlink:label="loc_us-gaap_AvailableForSaleSecurities_989F9EF4EB3977B706C4ADCBC5B79BB6" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecurities_989F9EF4EB3977B706C4ADCBC5B79BB6" xlink:to="lab_us-gaap_AvailableForSaleSecurities_989F9EF4EB3977B706C4ADCBC5B79BB6" xlink:type="arc" />
    <link:label id="lab_us-gaap_EarningsPerShareAbstract_D683FEDFA2AA5214010B94A14EE18358_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareAbstract_D683FEDFA2AA5214010B94A14EE18358" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaap_EarningsPerShareAbstract_D683FEDFA2AA5214010B94A14EE18358" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareAbstract_D683FEDFA2AA5214010B94A14EE18358" xlink:to="lab_us-gaap_EarningsPerShareAbstract_D683FEDFA2AA5214010B94A14EE18358" xlink:type="arc" />
    <link:label id="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_6412372AF83970BD012994A14EE2A312_terseLabel_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_6412372AF83970BD012994A14EE2A312" 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_6412372AF83970BD012994A14EE2A312_label_en-US" xlink:label="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_6412372AF83970BD012994A14EE2A312" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_6412372AF83970BD012994A14EE2A312" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_6412372AF83970BD012994A14EE2A312" xlink:to="lab_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_6412372AF83970BD012994A14EE2A312" xlink:type="arc" />
    <link:label id="lab_cgnx_DocumentAndEntityInformationAbstract_0377D9F56565645119AFADFB427F41F2_label_en-US" xlink:label="lab_cgnx_DocumentAndEntityInformationAbstract_0377D9F56565645119AFADFB427F41F2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document And Entity Information [Abstract]</link:label>
    <link:label id="lab_cgnx_DocumentAndEntityInformationAbstract_0377D9F56565645119AFADFB427F41F2_documentation_en-US" xlink:label="lab_cgnx_DocumentAndEntityInformationAbstract_0377D9F56565645119AFADFB427F41F2" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Document and entity information.</link:label>
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_DocumentAndEntityInformationAbstract" xlink:label="loc_cgnx_DocumentAndEntityInformationAbstract_0377D9F56565645119AFADFB427F41F2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_DocumentAndEntityInformationAbstract_0377D9F56565645119AFADFB427F41F2" xlink:to="lab_cgnx_DocumentAndEntityInformationAbstract_0377D9F56565645119AFADFB427F41F2" xlink:type="arc" />
    <link:label id="lab_dei_EntityRegistrantName_F1A0B14BCC8575261787ADFB427F0094_terseLabel_en-US" xlink:label="lab_dei_EntityRegistrantName_F1A0B14BCC8575261787ADFB427F0094" 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_F1A0B14BCC8575261787ADFB427F0094_label_en-US" xlink:label="lab_dei_EntityRegistrantName_F1A0B14BCC8575261787ADFB427F0094" 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="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityRegistrantName" xlink:label="loc_dei_EntityRegistrantName_F1A0B14BCC8575261787ADFB427F0094" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityRegistrantName_F1A0B14BCC8575261787ADFB427F0094" xlink:to="lab_dei_EntityRegistrantName_F1A0B14BCC8575261787ADFB427F0094" xlink:type="arc" />
    <link:label id="lab_dei_EntityCentralIndexKey_A3C6E697918F168530CDADFB427F305C_terseLabel_en-US" xlink:label="lab_dei_EntityCentralIndexKey_A3C6E697918F168530CDADFB427F305C" 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_A3C6E697918F168530CDADFB427F305C_label_en-US" xlink:label="lab_dei_EntityCentralIndexKey_A3C6E697918F168530CDADFB427F305C" 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="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityCentralIndexKey" xlink:label="loc_dei_EntityCentralIndexKey_A3C6E697918F168530CDADFB427F305C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCentralIndexKey_A3C6E697918F168530CDADFB427F305C" xlink:to="lab_dei_EntityCentralIndexKey_A3C6E697918F168530CDADFB427F305C" xlink:type="arc" />
    <link:label id="lab_dei_CurrentFiscalYearEndDate_7C495E6F6028E5EC1976ADFB428090D8_terseLabel_en-US" xlink:label="lab_dei_CurrentFiscalYearEndDate_7C495E6F6028E5EC1976ADFB428090D8" 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_7C495E6F6028E5EC1976ADFB428090D8_label_en-US" xlink:label="lab_dei_CurrentFiscalYearEndDate_7C495E6F6028E5EC1976ADFB428090D8" 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="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_CurrentFiscalYearEndDate" xlink:label="loc_dei_CurrentFiscalYearEndDate_7C495E6F6028E5EC1976ADFB428090D8" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_CurrentFiscalYearEndDate_7C495E6F6028E5EC1976ADFB428090D8" xlink:to="lab_dei_CurrentFiscalYearEndDate_7C495E6F6028E5EC1976ADFB428090D8" xlink:type="arc" />
    <link:label id="lab_dei_EntityFilerCategory_0C93FFA5CD53CF2B7864ADFB428088FA_terseLabel_en-US" xlink:label="lab_dei_EntityFilerCategory_0C93FFA5CD53CF2B7864ADFB428088FA" 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_0C93FFA5CD53CF2B7864ADFB428088FA_label_en-US" xlink:label="lab_dei_EntityFilerCategory_0C93FFA5CD53CF2B7864ADFB428088FA" 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="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityFilerCategory" xlink:label="loc_dei_EntityFilerCategory_0C93FFA5CD53CF2B7864ADFB428088FA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityFilerCategory_0C93FFA5CD53CF2B7864ADFB428088FA" xlink:to="lab_dei_EntityFilerCategory_0C93FFA5CD53CF2B7864ADFB428088FA" xlink:type="arc" />
    <link:label id="lab_dei_DocumentType_79D6E7CFE79C16D1DA05ADFB4280CA16_terseLabel_en-US" xlink:label="lab_dei_DocumentType_79D6E7CFE79C16D1DA05ADFB4280CA16" 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_79D6E7CFE79C16D1DA05ADFB4280CA16_label_en-US" xlink:label="lab_dei_DocumentType_79D6E7CFE79C16D1DA05ADFB4280CA16" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Document Type</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_DocumentType" xlink:label="loc_dei_DocumentType_79D6E7CFE79C16D1DA05ADFB4280CA16" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentType_79D6E7CFE79C16D1DA05ADFB4280CA16" xlink:to="lab_dei_DocumentType_79D6E7CFE79C16D1DA05ADFB4280CA16" xlink:type="arc" />
    <link:label id="lab_dei_DocumentPeriodEndDate_3549BF0933BBB133A9B0ADFB42802BFA_terseLabel_en-US" xlink:label="lab_dei_DocumentPeriodEndDate_3549BF0933BBB133A9B0ADFB42802BFA" 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_3549BF0933BBB133A9B0ADFB42802BFA_label_en-US" xlink:label="lab_dei_DocumentPeriodEndDate_3549BF0933BBB133A9B0ADFB42802BFA" 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="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_DocumentPeriodEndDate" xlink:label="loc_dei_DocumentPeriodEndDate_3549BF0933BBB133A9B0ADFB42802BFA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentPeriodEndDate_3549BF0933BBB133A9B0ADFB42802BFA" xlink:to="lab_dei_DocumentPeriodEndDate_3549BF0933BBB133A9B0ADFB42802BFA" xlink:type="arc" />
    <link:label id="lab_dei_DocumentFiscalYearFocus_768E2832C22718F5C615ADFB428065FE_terseLabel_en-US" xlink:label="lab_dei_DocumentFiscalYearFocus_768E2832C22718F5C615ADFB428065FE" 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_768E2832C22718F5C615ADFB428065FE_label_en-US" xlink:label="lab_dei_DocumentFiscalYearFocus_768E2832C22718F5C615ADFB428065FE" 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="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_DocumentFiscalYearFocus" xlink:label="loc_dei_DocumentFiscalYearFocus_768E2832C22718F5C615ADFB428065FE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentFiscalYearFocus_768E2832C22718F5C615ADFB428065FE" xlink:to="lab_dei_DocumentFiscalYearFocus_768E2832C22718F5C615ADFB428065FE" xlink:type="arc" />
    <link:label id="lab_dei_DocumentFiscalPeriodFocus_980BD6E5DF7E2E48D51AADFB428139A7_terseLabel_en-US" xlink:label="lab_dei_DocumentFiscalPeriodFocus_980BD6E5DF7E2E48D51AADFB428139A7" 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_980BD6E5DF7E2E48D51AADFB428139A7_label_en-US" xlink:label="lab_dei_DocumentFiscalPeriodFocus_980BD6E5DF7E2E48D51AADFB428139A7" 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="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="loc_dei_DocumentFiscalPeriodFocus_980BD6E5DF7E2E48D51AADFB428139A7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_DocumentFiscalPeriodFocus_980BD6E5DF7E2E48D51AADFB428139A7" xlink:to="lab_dei_DocumentFiscalPeriodFocus_980BD6E5DF7E2E48D51AADFB428139A7" xlink:type="arc" />
    <link:label id="lab_dei_AmendmentFlag_075000C2BDE286D70BE6ADFB42813CB0_terseLabel_en-US" xlink:label="lab_dei_AmendmentFlag_075000C2BDE286D70BE6ADFB42813CB0" 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_075000C2BDE286D70BE6ADFB42813CB0_label_en-US" xlink:label="lab_dei_AmendmentFlag_075000C2BDE286D70BE6ADFB42813CB0" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Amendment Flag</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_AmendmentFlag" xlink:label="loc_dei_AmendmentFlag_075000C2BDE286D70BE6ADFB42813CB0" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_AmendmentFlag_075000C2BDE286D70BE6ADFB42813CB0" xlink:to="lab_dei_AmendmentFlag_075000C2BDE286D70BE6ADFB42813CB0" xlink:type="arc" />
    <link:label id="lab_dei_EntityCommonStockSharesOutstanding_4A5A4EC7614DD4E1D1E9ADFB42811A62_terseLabel_en-US" xlink:label="lab_dei_EntityCommonStockSharesOutstanding_4A5A4EC7614DD4E1D1E9ADFB42811A62" 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_4A5A4EC7614DD4E1D1E9ADFB42811A62_label_en-US" xlink:label="lab_dei_EntityCommonStockSharesOutstanding_4A5A4EC7614DD4E1D1E9ADFB42811A62" 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="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="loc_dei_EntityCommonStockSharesOutstanding_4A5A4EC7614DD4E1D1E9ADFB42811A62" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_dei_EntityCommonStockSharesOutstanding_4A5A4EC7614DD4E1D1E9ADFB42811A62" xlink:to="lab_dei_EntityCommonStockSharesOutstanding_4A5A4EC7614DD4E1D1E9ADFB42811A62" xlink:type="arc" />
    <link:label id="lab_cgnx_OutstandingForwardContractsTableTextBlock_B374C1AE5C668B89EDA7A9D96A6EB1C3_terseLabel_en-US" xlink:label="lab_cgnx_OutstandingForwardContractsTableTextBlock_B374C1AE5C668B89EDA7A9D96A6EB1C3" 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_B374C1AE5C668B89EDA7A9D96A6EB1C3_label_en-US" xlink:label="lab_cgnx_OutstandingForwardContractsTableTextBlock_B374C1AE5C668B89EDA7A9D96A6EB1C3" 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_B374C1AE5C668B89EDA7A9D96A6EB1C3_documentation_en-US" xlink:label="lab_cgnx_OutstandingForwardContractsTableTextBlock_B374C1AE5C668B89EDA7A9D96A6EB1C3" 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-20180701.xsd#cgnx_OutstandingForwardContractsTableTextBlock" xlink:label="loc_cgnx_OutstandingForwardContractsTableTextBlock_B374C1AE5C668B89EDA7A9D96A6EB1C3" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_OutstandingForwardContractsTableTextBlock_B374C1AE5C668B89EDA7A9D96A6EB1C3" xlink:to="lab_cgnx_OutstandingForwardContractsTableTextBlock_B374C1AE5C668B89EDA7A9D96A6EB1C3" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_0F7B08BEE5F1F86AC541A9D96A6F5AA2_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_0F7B08BEE5F1F86AC541A9D96A6F5AA2" 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_0F7B08BEE5F1F86AC541A9D96A6F5AA2_label_en-US" xlink:label="lab_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_0F7B08BEE5F1F86AC541A9D96A6F5AA2" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock" xlink:label="loc_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_0F7B08BEE5F1F86AC541A9D96A6F5AA2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_0F7B08BEE5F1F86AC541A9D96A6F5AA2" xlink:to="lab_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_0F7B08BEE5F1F86AC541A9D96A6F5AA2" xlink:type="arc" />
    <link:label id="lab_us-gaap_OffsettingAssetsTableTextBlock_4B274AFC23F5C98C55B8A9D96A704184_terseLabel_en-US" xlink:label="lab_us-gaap_OffsettingAssetsTableTextBlock_4B274AFC23F5C98C55B8A9D96A704184" 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_4B274AFC23F5C98C55B8A9D96A704184_label_en-US" xlink:label="lab_us-gaap_OffsettingAssetsTableTextBlock_4B274AFC23F5C98C55B8A9D96A704184" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OffsettingAssetsTableTextBlock" xlink:label="loc_us-gaap_OffsettingAssetsTableTextBlock_4B274AFC23F5C98C55B8A9D96A704184" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OffsettingAssetsTableTextBlock_4B274AFC23F5C98C55B8A9D96A704184" xlink:to="lab_us-gaap_OffsettingAssetsTableTextBlock_4B274AFC23F5C98C55B8A9D96A704184" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_48A3DF6283B81C608CEBA9D96A70AE3E_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_48A3DF6283B81C608CEBA9D96A70AE3E" 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_48A3DF6283B81C608CEBA9D96A70AE3E_label_en-US" xlink:label="lab_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_48A3DF6283B81C608CEBA9D96A70AE3E" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" xlink:label="loc_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_48A3DF6283B81C608CEBA9D96A70AE3E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_48A3DF6283B81C608CEBA9D96A70AE3E" xlink:to="lab_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_48A3DF6283B81C608CEBA9D96A70AE3E" xlink:type="arc" />
    <link:label id="lab_us-gaap_InventoryRawMaterialsNetOfReserves_E4C80277505F7FC22F1294A150B05F88_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryRawMaterialsNetOfReserves_E4C80277505F7FC22F1294A150B05F88" 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_E4C80277505F7FC22F1294A150B05F88_label_en-US" xlink:label="lab_us-gaap_InventoryRawMaterialsNetOfReserves_E4C80277505F7FC22F1294A150B05F88" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="loc_us-gaap_InventoryRawMaterialsNetOfReserves_E4C80277505F7FC22F1294A150B05F88" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryRawMaterialsNetOfReserves_E4C80277505F7FC22F1294A150B05F88" xlink:to="lab_us-gaap_InventoryRawMaterialsNetOfReserves_E4C80277505F7FC22F1294A150B05F88" xlink:type="arc" />
    <link:label id="lab_us-gaap_InventoryWorkInProcessNetOfReserves_D6D1BD726EEBB4C2A63F94A150B02A6A_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryWorkInProcessNetOfReserves_D6D1BD726EEBB4C2A63F94A150B02A6A" 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_D6D1BD726EEBB4C2A63F94A150B02A6A_label_en-US" xlink:label="lab_us-gaap_InventoryWorkInProcessNetOfReserves_D6D1BD726EEBB4C2A63F94A150B02A6A" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="loc_us-gaap_InventoryWorkInProcessNetOfReserves_D6D1BD726EEBB4C2A63F94A150B02A6A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryWorkInProcessNetOfReserves_D6D1BD726EEBB4C2A63F94A150B02A6A" xlink:to="lab_us-gaap_InventoryWorkInProcessNetOfReserves_D6D1BD726EEBB4C2A63F94A150B02A6A" xlink:type="arc" />
    <link:label id="lab_us-gaap_InventoryFinishedGoodsNetOfReserves_E984CBEAFA6568483AE894A150B0EE7F_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryFinishedGoodsNetOfReserves_E984CBEAFA6568483AE894A150B0EE7F" 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_E984CBEAFA6568483AE894A150B0EE7F_label_en-US" xlink:label="lab_us-gaap_InventoryFinishedGoodsNetOfReserves_E984CBEAFA6568483AE894A150B0EE7F" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_E984CBEAFA6568483AE894A150B0EE7F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_E984CBEAFA6568483AE894A150B0EE7F" xlink:to="lab_us-gaap_InventoryFinishedGoodsNetOfReserves_E984CBEAFA6568483AE894A150B0EE7F" xlink:type="arc" />
    <link:label id="lab_us-gaap_InventoryNet_CCBCBE2BFE28A56B8EEC94A150B02EB3_totalLabel_en-US" xlink:label="lab_us-gaap_InventoryNet_CCBCBE2BFE28A56B8EEC94A150B02EB3" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Inventories</link:label>
    <link:label id="lab_us-gaap_InventoryNet_CCBCBE2BFE28A56B8EEC94A150B02EB3_label_en-US" xlink:label="lab_us-gaap_InventoryNet_CCBCBE2BFE28A56B8EEC94A150B02EB3" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaap_InventoryNet_CCBCBE2BFE28A56B8EEC94A150B02EB3" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryNet_CCBCBE2BFE28A56B8EEC94A150B02EB3" xlink:to="lab_us-gaap_InventoryNet_CCBCBE2BFE28A56B8EEC94A150B02EB3" xlink:type="arc" />
    <link:label id="lab_us-gaap_SubsequentEventsAbstract_723872CECCA2AF6FDEABA9F25B8E0CD4_label_en-US" xlink:label="lab_us-gaap_SubsequentEventsAbstract_723872CECCA2AF6FDEABA9F25B8E0CD4" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="loc_us-gaap_SubsequentEventsAbstract_723872CECCA2AF6FDEABA9F25B8E0CD4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventsAbstract_723872CECCA2AF6FDEABA9F25B8E0CD4" xlink:to="lab_us-gaap_SubsequentEventsAbstract_723872CECCA2AF6FDEABA9F25B8E0CD4" xlink:type="arc" />
    <link:label id="lab_us-gaap_SubsequentEventTable_D67086646D42B1C05232A9F25B8EC51D_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventTable_D67086646D42B1C05232A9F25B8EC51D" 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_D67086646D42B1C05232A9F25B8EC51D_label_en-US" xlink:label="lab_us-gaap_SubsequentEventTable_D67086646D42B1C05232A9F25B8EC51D" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SubsequentEventTable" xlink:label="loc_us-gaap_SubsequentEventTable_D67086646D42B1C05232A9F25B8EC51D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventTable_D67086646D42B1C05232A9F25B8EC51D" xlink:to="lab_us-gaap_SubsequentEventTable_D67086646D42B1C05232A9F25B8EC51D" xlink:type="arc" />
    <link:label id="lab_us-gaap_SubsequentEventTypeAxis_6A5B06A3C8E9B850F859A9F25B8E9AB9_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventTypeAxis_6A5B06A3C8E9B850F859A9F25B8E9AB9" 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_6A5B06A3C8E9B850F859A9F25B8E9AB9_label_en-US" xlink:label="lab_us-gaap_SubsequentEventTypeAxis_6A5B06A3C8E9B850F859A9F25B8E9AB9" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="loc_us-gaap_SubsequentEventTypeAxis_6A5B06A3C8E9B850F859A9F25B8E9AB9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventTypeAxis_6A5B06A3C8E9B850F859A9F25B8E9AB9" xlink:to="lab_us-gaap_SubsequentEventTypeAxis_6A5B06A3C8E9B850F859A9F25B8E9AB9" xlink:type="arc" />
    <link:label id="lab_us-gaap_SubsequentEventTypeDomain_9BA30A4A74422EE6B367A9F25B8F7035_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventTypeDomain_9BA30A4A74422EE6B367A9F25B8F7035" 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_9BA30A4A74422EE6B367A9F25B8F7035_label_en-US" xlink:label="lab_us-gaap_SubsequentEventTypeDomain_9BA30A4A74422EE6B367A9F25B8F7035" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="loc_us-gaap_SubsequentEventTypeDomain_9BA30A4A74422EE6B367A9F25B8F7035" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventTypeDomain_9BA30A4A74422EE6B367A9F25B8F7035" xlink:to="lab_us-gaap_SubsequentEventTypeDomain_9BA30A4A74422EE6B367A9F25B8F7035" xlink:type="arc" />
    <link:label id="lab_us-gaap_SubsequentEventMember_C775B3E1B6F88D0BAB8EA9F25B8F9C94_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventMember_C775B3E1B6F88D0BAB8EA9F25B8F9C94" 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_C775B3E1B6F88D0BAB8EA9F25B8F9C94_label_en-US" xlink:label="lab_us-gaap_SubsequentEventMember_C775B3E1B6F88D0BAB8EA9F25B8F9C94" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SubsequentEventMember" xlink:label="loc_us-gaap_SubsequentEventMember_C775B3E1B6F88D0BAB8EA9F25B8F9C94" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventMember_C775B3E1B6F88D0BAB8EA9F25B8F9C94" xlink:to="lab_us-gaap_SubsequentEventMember_C775B3E1B6F88D0BAB8EA9F25B8F9C94" xlink:type="arc" />
    <link:label id="lab_us-gaap_SubsequentEventLineItems_AEA98E8CD616062BC703A9F25B8FDE2B_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventLineItems_AEA98E8CD616062BC703A9F25B8FDE2B" 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_AEA98E8CD616062BC703A9F25B8FDE2B_label_en-US" xlink:label="lab_us-gaap_SubsequentEventLineItems_AEA98E8CD616062BC703A9F25B8FDE2B" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SubsequentEventLineItems" xlink:label="loc_us-gaap_SubsequentEventLineItems_AEA98E8CD616062BC703A9F25B8FDE2B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventLineItems_AEA98E8CD616062BC703A9F25B8FDE2B" xlink:to="lab_us-gaap_SubsequentEventLineItems_AEA98E8CD616062BC703A9F25B8FDE2B" xlink:type="arc" />
    <link:label id="lab_us-gaap_Dividends_7AEB9B9699ED194D8D3AA9F25B8FBE68_terseLabel_en-US" xlink:label="lab_us-gaap_Dividends_7AEB9B9699ED194D8D3AA9F25B8FBE68" 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_7AEB9B9699ED194D8D3AA9F25B8FBE68_label_en-US" xlink:label="lab_us-gaap_Dividends_7AEB9B9699ED194D8D3AA9F25B8FBE68" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_Dividends" xlink:label="loc_us-gaap_Dividends_7AEB9B9699ED194D8D3AA9F25B8FBE68" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Dividends_7AEB9B9699ED194D8D3AA9F25B8FBE68" xlink:to="lab_us-gaap_Dividends_7AEB9B9699ED194D8D3AA9F25B8FBE68" xlink:type="arc" />
    <link:label id="lab_us-gaap_DividendPayableDateToBePaidDayMonthAndYear_B8E03517EBE4BAF65C4FA9F25B9039B6_terseLabel_en-US" xlink:label="lab_us-gaap_DividendPayableDateToBePaidDayMonthAndYear_B8E03517EBE4BAF65C4FA9F25B9039B6" 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_B8E03517EBE4BAF65C4FA9F25B9039B6_label_en-US" xlink:label="lab_us-gaap_DividendPayableDateToBePaidDayMonthAndYear_B8E03517EBE4BAF65C4FA9F25B9039B6" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DividendPayableDateToBePaidDayMonthAndYear" xlink:label="loc_us-gaap_DividendPayableDateToBePaidDayMonthAndYear_B8E03517EBE4BAF65C4FA9F25B9039B6" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DividendPayableDateToBePaidDayMonthAndYear_B8E03517EBE4BAF65C4FA9F25B9039B6" xlink:to="lab_us-gaap_DividendPayableDateToBePaidDayMonthAndYear_B8E03517EBE4BAF65C4FA9F25B9039B6" xlink:type="arc" />
    <link:label id="lab_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear_8AB4FF3B056A5CCF8F02A9F25B95E9AF_terseLabel_en-US" xlink:label="lab_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear_8AB4FF3B056A5CCF8F02A9F25B95E9AF" 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_8AB4FF3B056A5CCF8F02A9F25B95E9AF_label_en-US" xlink:label="lab_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear_8AB4FF3B056A5CCF8F02A9F25B95E9AF" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DividendsPayableDateOfRecordDayMonthAndYear" xlink:label="loc_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear_8AB4FF3B056A5CCF8F02A9F25B95E9AF" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear_8AB4FF3B056A5CCF8F02A9F25B95E9AF" xlink:to="lab_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear_8AB4FF3B056A5CCF8F02A9F25B95E9AF" xlink:type="arc" />
    <link:label id="lab_us-gaap_StatementOfCashFlowsAbstract_1E76753D0DEC76A3A3DDA9F25E5F6D6E_label_en-US" xlink:label="lab_us-gaap_StatementOfCashFlowsAbstract_1E76753D0DEC76A3A3DDA9F25E5F6D6E" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="loc_us-gaap_StatementOfCashFlowsAbstract_1E76753D0DEC76A3A3DDA9F25E5F6D6E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfCashFlowsAbstract_1E76753D0DEC76A3A3DDA9F25E5F6D6E" xlink:to="lab_us-gaap_StatementOfCashFlowsAbstract_1E76753D0DEC76A3A3DDA9F25E5F6D6E" xlink:type="arc" />
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_E8CB06785D2BBF4AB56BA9F25E5F5EDD_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_E8CB06785D2BBF4AB56BA9F25E5F5EDD" 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_E8CB06785D2BBF4AB56BA9F25E5F5EDD_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_E8CB06785D2BBF4AB56BA9F25E5F5EDD" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_E8CB06785D2BBF4AB56BA9F25E5F5EDD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_E8CB06785D2BBF4AB56BA9F25E5F5EDD" xlink:to="lab_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_E8CB06785D2BBF4AB56BA9F25E5F5EDD" xlink:type="arc" />
    <link:label id="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_49BB111AAB8AB5269087A9F25E607F84_terseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_49BB111AAB8AB5269087A9F25E607F84" 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_49BB111AAB8AB5269087A9F25E607F84_label_en-US" xlink:label="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_49BB111AAB8AB5269087A9F25E607F84" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_49BB111AAB8AB5269087A9F25E607F84" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_49BB111AAB8AB5269087A9F25E607F84" xlink:to="lab_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_49BB111AAB8AB5269087A9F25E607F84" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockOptionPlanExpense_668FB0B19142E6CB036AA9F25E608FB9_terseLabel_en-US" xlink:label="lab_us-gaap_StockOptionPlanExpense_668FB0B19142E6CB036AA9F25E608FB9" 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_668FB0B19142E6CB036AA9F25E608FB9_label_en-US" xlink:label="lab_us-gaap_StockOptionPlanExpense_668FB0B19142E6CB036AA9F25E608FB9" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockOptionPlanExpense" xlink:label="loc_us-gaap_StockOptionPlanExpense_668FB0B19142E6CB036AA9F25E608FB9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockOptionPlanExpense_668FB0B19142E6CB036AA9F25E608FB9" xlink:to="lab_us-gaap_StockOptionPlanExpense_668FB0B19142E6CB036AA9F25E608FB9" xlink:type="arc" />
    <link:label id="lab_us-gaap_Depreciation_B92D683F25840F3A0F95A9F25E606CED_terseLabel_en-US" xlink:label="lab_us-gaap_Depreciation_B92D683F25840F3A0F95A9F25E606CED" 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_B92D683F25840F3A0F95A9F25E606CED_label_en-US" xlink:label="lab_us-gaap_Depreciation_B92D683F25840F3A0F95A9F25E606CED" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_Depreciation" xlink:label="loc_us-gaap_Depreciation_B92D683F25840F3A0F95A9F25E606CED" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Depreciation_B92D683F25840F3A0F95A9F25E606CED" xlink:to="lab_us-gaap_Depreciation_B92D683F25840F3A0F95A9F25E606CED" xlink:type="arc" />
    <link:label id="lab_us-gaap_AmortizationOfIntangibleAssets_CFB39D66F6AD13B6AB44A9F25E618B5C_terseLabel_en-US" xlink:label="lab_us-gaap_AmortizationOfIntangibleAssets_CFB39D66F6AD13B6AB44A9F25E618B5C" 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_CFB39D66F6AD13B6AB44A9F25E618B5C_label_en-US" xlink:label="lab_us-gaap_AmortizationOfIntangibleAssets_CFB39D66F6AD13B6AB44A9F25E618B5C" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets_CFB39D66F6AD13B6AB44A9F25E618B5C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AmortizationOfIntangibleAssets_CFB39D66F6AD13B6AB44A9F25E618B5C" xlink:to="lab_us-gaap_AmortizationOfIntangibleAssets_CFB39D66F6AD13B6AB44A9F25E618B5C" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_AF1B2519B7D3B8009EA2A9F25E6118FE_negatedLabel_en-US" xlink:label="lab_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_AF1B2519B7D3B8009EA2A9F25E6118FE" 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_AF1B2519B7D3B8009EA2A9F25E6118FE_label_en-US" xlink:label="lab_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_AF1B2519B7D3B8009EA2A9F25E6118FE" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments" xlink:label="loc_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_AF1B2519B7D3B8009EA2A9F25E6118FE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_AF1B2519B7D3B8009EA2A9F25E6118FE" xlink:to="lab_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_AF1B2519B7D3B8009EA2A9F25E6118FE" xlink:type="arc" />
    <link:label id="lab_us-gaap_GainLossOnSaleOfInvestments_421E66A4CD65FE7C3D9FA9F25E61E024_negatedLabel_en-US" xlink:label="lab_us-gaap_GainLossOnSaleOfInvestments_421E66A4CD65FE7C3D9FA9F25E61E024" 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_421E66A4CD65FE7C3D9FA9F25E61E024_label_en-US" xlink:label="lab_us-gaap_GainLossOnSaleOfInvestments_421E66A4CD65FE7C3D9FA9F25E61E024" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_GainLossOnSaleOfInvestments" xlink:label="loc_us-gaap_GainLossOnSaleOfInvestments_421E66A4CD65FE7C3D9FA9F25E61E024" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GainLossOnSaleOfInvestments_421E66A4CD65FE7C3D9FA9F25E61E024" xlink:to="lab_us-gaap_GainLossOnSaleOfInvestments_421E66A4CD65FE7C3D9FA9F25E61E024" xlink:type="arc" />
    <link:label id="lab_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_CA68EA8E635CA060827AA9F25E61EBA5_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_CA68EA8E635CA060827AA9F25E61EBA5" 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_CA68EA8E635CA060827AA9F25E61EBA5_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_CA68EA8E635CA060827AA9F25E61EBA5" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_CA68EA8E635CA060827AA9F25E61EBA5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_CA68EA8E635CA060827AA9F25E61EBA5" xlink:to="lab_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_CA68EA8E635CA060827AA9F25E61EBA5" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_59DAA570C5F13ADDECF7A9F25E61F663_negatedLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_59DAA570C5F13ADDECF7A9F25E61F663" 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_59DAA570C5F13ADDECF7A9F25E61F663_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_59DAA570C5F13ADDECF7A9F25E61F663" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:label="loc_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_59DAA570C5F13ADDECF7A9F25E61F663" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_59DAA570C5F13ADDECF7A9F25E61F663" xlink:to="lab_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_59DAA570C5F13ADDECF7A9F25E61F663" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsReceivable_135491FBC7A8606D0667A9F25E61D0C7_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsReceivable_135491FBC7A8606D0667A9F25E61D0C7" 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_135491FBC7A8606D0667A9F25E61D0C7_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsReceivable_135491FBC7A8606D0667A9F25E61D0C7" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_135491FBC7A8606D0667A9F25E61D0C7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_135491FBC7A8606D0667A9F25E61D0C7" xlink:to="lab_us-gaap_IncreaseDecreaseInAccountsReceivable_135491FBC7A8606D0667A9F25E61D0C7" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncreaseDecreaseInUnbilledReceivables_9B48177F592DE33A0E71A9F25E61C5AD_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInUnbilledReceivables_9B48177F592DE33A0E71A9F25E61C5AD" 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_9B48177F592DE33A0E71A9F25E61C5AD_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInUnbilledReceivables_9B48177F592DE33A0E71A9F25E61C5AD" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInUnbilledReceivables" xlink:label="loc_us-gaap_IncreaseDecreaseInUnbilledReceivables_9B48177F592DE33A0E71A9F25E61C5AD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInUnbilledReceivables_9B48177F592DE33A0E71A9F25E61C5AD" xlink:to="lab_us-gaap_IncreaseDecreaseInUnbilledReceivables_9B48177F592DE33A0E71A9F25E61C5AD" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncreaseDecreaseInInventories_DA6A78FB0E73FD68BB17A9F25E6266EE_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInInventories_DA6A78FB0E73FD68BB17A9F25E6266EE" 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_DA6A78FB0E73FD68BB17A9F25E6266EE_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInInventories_DA6A78FB0E73FD68BB17A9F25E6266EE" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories_DA6A78FB0E73FD68BB17A9F25E6266EE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInInventories_DA6A78FB0E73FD68BB17A9F25E6266EE" xlink:to="lab_us-gaap_IncreaseDecreaseInInventories_DA6A78FB0E73FD68BB17A9F25E6266EE" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_8594A053A5AA97B2608BA9F25E622F14_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_8594A053A5AA97B2608BA9F25E622F14" 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_8594A053A5AA97B2608BA9F25E622F14_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_8594A053A5AA97B2608BA9F25E622F14" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_8594A053A5AA97B2608BA9F25E622F14" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_8594A053A5AA97B2608BA9F25E622F14" xlink:to="lab_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_8594A053A5AA97B2608BA9F25E622F14" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccountsPayable_C7BEF4D6A9728D01167BA9F25E6298DC_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsPayable_C7BEF4D6A9728D01167BA9F25E6298DC" 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_C7BEF4D6A9728D01167BA9F25E6298DC_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccountsPayable_C7BEF4D6A9728D01167BA9F25E6298DC" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable_C7BEF4D6A9728D01167BA9F25E6298DC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccountsPayable_C7BEF4D6A9728D01167BA9F25E6298DC" xlink:to="lab_us-gaap_IncreaseDecreaseInAccountsPayable_C7BEF4D6A9728D01167BA9F25E6298DC" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities_24C841F6A419138251DAA9F25E62226F_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities_24C841F6A419138251DAA9F25E62226F" 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_24C841F6A419138251DAA9F25E62226F_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities_24C841F6A419138251DAA9F25E62226F" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_24C841F6A419138251DAA9F25E62226F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_24C841F6A419138251DAA9F25E62226F" xlink:to="lab_us-gaap_IncreaseDecreaseInAccruedLiabilities_24C841F6A419138251DAA9F25E62226F" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncreaseDecreaseInAccruedTaxesPayable_35D90CF67306B3FB93F1A9F25E62A648_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccruedTaxesPayable_35D90CF67306B3FB93F1A9F25E62A648" 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_35D90CF67306B3FB93F1A9F25E62A648_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInAccruedTaxesPayable_35D90CF67306B3FB93F1A9F25E62A648" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedTaxesPayable" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedTaxesPayable_35D90CF67306B3FB93F1A9F25E62A648" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInAccruedTaxesPayable_35D90CF67306B3FB93F1A9F25E62A648" xlink:to="lab_us-gaap_IncreaseDecreaseInAccruedTaxesPayable_35D90CF67306B3FB93F1A9F25E62A648" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncreaseDecreaseInDeferredRevenue_BF72934C91BBF08E8B53A9F25E625BFE_terseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInDeferredRevenue_BF72934C91BBF08E8B53A9F25E625BFE" 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_BF72934C91BBF08E8B53A9F25E625BFE_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInDeferredRevenue_BF72934C91BBF08E8B53A9F25E625BFE" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:label="loc_us-gaap_IncreaseDecreaseInDeferredRevenue_BF72934C91BBF08E8B53A9F25E625BFE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInDeferredRevenue_BF72934C91BBF08E8B53A9F25E625BFE" xlink:to="lab_us-gaap_IncreaseDecreaseInDeferredRevenue_BF72934C91BBF08E8B53A9F25E625BFE" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_462B3883E37DBD5483E1A9F25E62A8E8_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_462B3883E37DBD5483E1A9F25E62A8E8" 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_462B3883E37DBD5483E1A9F25E62A8E8_label_en-US" xlink:label="lab_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_462B3883E37DBD5483E1A9F25E62A8E8" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_462B3883E37DBD5483E1A9F25E62A8E8" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_462B3883E37DBD5483E1A9F25E62A8E8" xlink:to="lab_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_462B3883E37DBD5483E1A9F25E62A8E8" xlink:type="arc" />
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_CBA4ACE382744196BD6EA9F25E637B08_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_CBA4ACE382744196BD6EA9F25E637B08" 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_CBA4ACE382744196BD6EA9F25E637B08_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_CBA4ACE382744196BD6EA9F25E637B08" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_CBA4ACE382744196BD6EA9F25E637B08" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_CBA4ACE382744196BD6EA9F25E637B08" xlink:to="lab_us-gaap_NetCashProvidedByUsedInOperatingActivities_CBA4ACE382744196BD6EA9F25E637B08" xlink:type="arc" />
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_940143C2BF0B68C49250A9F25E632E71_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_940143C2BF0B68C49250A9F25E632E71" 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_940143C2BF0B68C49250A9F25E632E71_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_940143C2BF0B68C49250A9F25E632E71" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_940143C2BF0B68C49250A9F25E632E71" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_940143C2BF0B68C49250A9F25E632E71" xlink:to="lab_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_940143C2BF0B68C49250A9F25E632E71" xlink:type="arc" />
    <link:label id="lab_us-gaap_PaymentsToAcquireInvestments_35E9AE77355CD2867842A9F25E63C48A_negatedLabel_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireInvestments_35E9AE77355CD2867842A9F25E63C48A" 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_35E9AE77355CD2867842A9F25E63C48A_label_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireInvestments_35E9AE77355CD2867842A9F25E63C48A" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PaymentsToAcquireInvestments" xlink:label="loc_us-gaap_PaymentsToAcquireInvestments_35E9AE77355CD2867842A9F25E63C48A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToAcquireInvestments_35E9AE77355CD2867842A9F25E63C48A" xlink:to="lab_us-gaap_PaymentsToAcquireInvestments_35E9AE77355CD2867842A9F25E63C48A" xlink:type="arc" />
    <link:label id="lab_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_B150B614D04269FC1216A9F25E63F2AB_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_B150B614D04269FC1216A9F25E63F2AB" 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_B150B614D04269FC1216A9F25E63F2AB_label_en-US" xlink:label="lab_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_B150B614D04269FC1216A9F25E63F2AB" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments" xlink:label="loc_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_B150B614D04269FC1216A9F25E63F2AB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_B150B614D04269FC1216A9F25E63F2AB" xlink:to="lab_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_B150B614D04269FC1216A9F25E63F2AB" xlink:type="arc" />
    <link:label id="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_8E1EBE3514F9B93B4B8EA9F25E63701B_negatedLabel_en-US" xlink:label="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_8E1EBE3514F9B93B4B8EA9F25E63701B" 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_8E1EBE3514F9B93B4B8EA9F25E63701B_label_en-US" xlink:label="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_8E1EBE3514F9B93B4B8EA9F25E63701B" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_8E1EBE3514F9B93B4B8EA9F25E63701B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_8E1EBE3514F9B93B4B8EA9F25E63701B" xlink:to="lab_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_8E1EBE3514F9B93B4B8EA9F25E63701B" xlink:type="arc" />
    <link:label id="lab_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_15A26AB50887495E6A98A9F25E64CC72_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_15A26AB50887495E6A98A9F25E64CC72" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Cash paid for acquisition of businesses, net of cash acquired</link:label>
    <link:label id="lab_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_15A26AB50887495E6A98A9F25E64CC72_label_en-US" xlink:label="lab_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_15A26AB50887495E6A98A9F25E64CC72" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Payments to Acquire Businesses, Net of Cash Acquired</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_15A26AB50887495E6A98A9F25E64CC72" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_15A26AB50887495E6A98A9F25E64CC72" xlink:to="lab_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_15A26AB50887495E6A98A9F25E64CC72" xlink:type="arc" />
    <link:label id="lab_cgnx_PaymentsForDivestitureofBusinesses_D5F215F093B9A8A2E8D8A9F25E64084A_negatedLabel_en-US" xlink:label="lab_cgnx_PaymentsForDivestitureofBusinesses_D5F215F093B9A8A2E8D8A9F25E64084A" xlink:role="http://www.xbrl.org/2009/role/negatedLabel" xlink:type="resource" xml:lang="en-US">Net cash provided by (used in) investing activities</link:label>
    <link:label id="lab_cgnx_PaymentsForDivestitureofBusinesses_D5F215F093B9A8A2E8D8A9F25E64084A_label_en-US" xlink:label="lab_cgnx_PaymentsForDivestitureofBusinesses_D5F215F093B9A8A2E8D8A9F25E64084A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Payments For Divestiture of Businesses</link:label>
    <link:label id="lab_cgnx_PaymentsForDivestitureofBusinesses_D5F215F093B9A8A2E8D8A9F25E64084A_documentation_en-US" xlink:label="lab_cgnx_PaymentsForDivestitureofBusinesses_D5F215F093B9A8A2E8D8A9F25E64084A" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Payments For Divestiture of Businesses</link:label>
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_PaymentsForDivestitureofBusinesses" xlink:label="loc_cgnx_PaymentsForDivestitureofBusinesses_D5F215F093B9A8A2E8D8A9F25E64084A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_PaymentsForDivestitureofBusinesses_D5F215F093B9A8A2E8D8A9F25E64084A" xlink:to="lab_cgnx_PaymentsForDivestitureofBusinesses_D5F215F093B9A8A2E8D8A9F25E64084A" xlink:type="arc" />
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities_7200F7546E0D46933E38A9F25E646D22_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities_7200F7546E0D46933E38A9F25E646D22" 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_7200F7546E0D46933E38A9F25E646D22_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities_7200F7546E0D46933E38A9F25E646D22" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_7200F7546E0D46933E38A9F25E646D22" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_7200F7546E0D46933E38A9F25E646D22" xlink:to="lab_us-gaap_NetCashProvidedByUsedInInvestingActivities_7200F7546E0D46933E38A9F25E646D22" xlink:type="arc" />
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_1F0CFD634937550C9574A9F25E64AC8D_terseLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_1F0CFD634937550C9574A9F25E64AC8D" 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_1F0CFD634937550C9574A9F25E64AC8D_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_1F0CFD634937550C9574A9F25E64AC8D" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_1F0CFD634937550C9574A9F25E64AC8D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_1F0CFD634937550C9574A9F25E64AC8D" xlink:to="lab_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_1F0CFD634937550C9574A9F25E64AC8D" xlink:type="arc" />
    <link:label id="lab_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_352A6F0770281258D87DA9F25E640CBF_terseLabel_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_352A6F0770281258D87DA9F25E640CBF" 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_352A6F0770281258D87DA9F25E640CBF_label_en-US" xlink:label="lab_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_352A6F0770281258D87DA9F25E640CBF" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_352A6F0770281258D87DA9F25E640CBF" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_352A6F0770281258D87DA9F25E640CBF" xlink:to="lab_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_352A6F0770281258D87DA9F25E640CBF" xlink:type="arc" />
    <link:label id="lab_us-gaap_PaymentsForRepurchaseOfCommonStock_285A1950DA67BADEE673A9F25E6413B8_negatedLabel_en-US" xlink:label="lab_us-gaap_PaymentsForRepurchaseOfCommonStock_285A1950DA67BADEE673A9F25E6413B8" 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_285A1950DA67BADEE673A9F25E6413B8_label_en-US" xlink:label="lab_us-gaap_PaymentsForRepurchaseOfCommonStock_285A1950DA67BADEE673A9F25E6413B8" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_285A1950DA67BADEE673A9F25E6413B8" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_285A1950DA67BADEE673A9F25E6413B8" xlink:to="lab_us-gaap_PaymentsForRepurchaseOfCommonStock_285A1950DA67BADEE673A9F25E6413B8" xlink:type="arc" />
    <link:label id="lab_us-gaap_PaymentsOfDividendsCommonStock_8AB57F73A42A247F2F9AA9F25E65BA86_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_PaymentsOfDividendsCommonStock_8AB57F73A42A247F2F9AA9F25E65BA86" 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_8AB57F73A42A247F2F9AA9F25E65BA86_label_en-US" xlink:label="lab_us-gaap_PaymentsOfDividendsCommonStock_8AB57F73A42A247F2F9AA9F25E65BA86" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PaymentsOfDividendsCommonStock" xlink:label="loc_us-gaap_PaymentsOfDividendsCommonStock_8AB57F73A42A247F2F9AA9F25E65BA86" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PaymentsOfDividendsCommonStock_8AB57F73A42A247F2F9AA9F25E65BA86" xlink:to="lab_us-gaap_PaymentsOfDividendsCommonStock_8AB57F73A42A247F2F9AA9F25E65BA86" xlink:type="arc" />
    <link:label id="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities_C8F5991D819AE3CDF7B0A9F25E65E43A_totalLabel_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities_C8F5991D819AE3CDF7B0A9F25E65E43A" 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_C8F5991D819AE3CDF7B0A9F25E65E43A_label_en-US" xlink:label="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities_C8F5991D819AE3CDF7B0A9F25E65E43A" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_C8F5991D819AE3CDF7B0A9F25E65E43A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_C8F5991D819AE3CDF7B0A9F25E65E43A" xlink:to="lab_us-gaap_NetCashProvidedByUsedInFinancingActivities_C8F5991D819AE3CDF7B0A9F25E65E43A" xlink:type="arc" />
    <link:label id="lab_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents_2C6FF52C58836251B205A9F25E6563C2_terseLabel_en-US" xlink:label="lab_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents_2C6FF52C58836251B205A9F25E6563C2" 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_2C6FF52C58836251B205A9F25E6563C2_label_en-US" xlink:label="lab_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents_2C6FF52C58836251B205A9F25E6563C2" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents" xlink:label="loc_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents_2C6FF52C58836251B205A9F25E6563C2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents_2C6FF52C58836251B205A9F25E6563C2" xlink:to="lab_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents_2C6FF52C58836251B205A9F25E6563C2" xlink:type="arc" />
    <link:label id="lab_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_DB3F140F7EEE255B054CA9F25E656EF4_totalLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_DB3F140F7EEE255B054CA9F25E656EF4" 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_DB3F140F7EEE255B054CA9F25E656EF4_label_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_DB3F140F7EEE255B054CA9F25E656EF4" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease" xlink:label="loc_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_DB3F140F7EEE255B054CA9F25E656EF4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_DB3F140F7EEE255B054CA9F25E656EF4" xlink:to="lab_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_DB3F140F7EEE255B054CA9F25E656EF4" xlink:type="arc" />
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_2E8DFE9E91C4B669CAAEA9F25E65F2E2_periodStartLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_2E8DFE9E91C4B669CAAEA9F25E65F2E2" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_2E8DFE9E91C4B669CAAEA9F25E65F2E2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_2E8DFE9E91C4B669CAAEA9F25E65F2E2" xlink:to="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_2E8DFE9E91C4B669CAAEA9F25E65F2E2" xlink:type="arc" />
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_2DF0645726838F056906A9F25E651352_periodEndLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_2DF0645726838F056906A9F25E651352" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_2DF0645726838F056906A9F25E651352" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_2DF0645726838F056906A9F25E651352" xlink:to="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_2DF0645726838F056906A9F25E651352" xlink:type="arc" />
    <link:label id="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_389275A0C21BCABC57A094A14F2025CD_label_en-US" xlink:label="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_389275A0C21BCABC57A094A14F2025CD" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_389275A0C21BCABC57A094A14F2025CD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_389275A0C21BCABC57A094A14F2025CD" xlink:to="lab_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_389275A0C21BCABC57A094A14F2025CD" xlink:type="arc" />
    <link:label id="lab_us-gaap_IntangibleAssetsDisclosureTextBlock_AA3254B782D2275543BA94A14F2033E4_terseLabel_en-US" xlink:label="lab_us-gaap_IntangibleAssetsDisclosureTextBlock_AA3254B782D2275543BA94A14F2033E4" 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_AA3254B782D2275543BA94A14F2033E4_label_en-US" xlink:label="lab_us-gaap_IntangibleAssetsDisclosureTextBlock_AA3254B782D2275543BA94A14F2033E4" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:label="loc_us-gaap_IntangibleAssetsDisclosureTextBlock_AA3254B782D2275543BA94A14F2033E4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IntangibleAssetsDisclosureTextBlock_AA3254B782D2275543BA94A14F2033E4" xlink:to="lab_us-gaap_IntangibleAssetsDisclosureTextBlock_AA3254B782D2275543BA94A14F2033E4" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_8C30D1449E16EF62C245ADCBF773A238_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_8C30D1449E16EF62C245ADCBF773A238" 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_8C30D1449E16EF62C245ADCBF773A238_label_en-US" xlink:label="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_8C30D1449E16EF62C245ADCBF773A238" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_8C30D1449E16EF62C245ADCBF773A238" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_8C30D1449E16EF62C245ADCBF773A238" xlink:to="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_8C30D1449E16EF62C245ADCBF773A238" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueInputsLevel1Member_2CC397A312196E34D459ADCBF77418E8_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel1Member_2CC397A312196E34D459ADCBF77418E8" 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_2CC397A312196E34D459ADCBF77418E8_label_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel1Member_2CC397A312196E34D459ADCBF77418E8" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueInputsLevel1Member" xlink:label="loc_us-gaap_FairValueInputsLevel1Member_2CC397A312196E34D459ADCBF77418E8" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueInputsLevel1Member_2CC397A312196E34D459ADCBF77418E8" xlink:to="lab_us-gaap_FairValueInputsLevel1Member_2CC397A312196E34D459ADCBF77418E8" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueInputsLevel2Member_814D37A583E8EDBBFA6BADCBF7753165_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel2Member_814D37A583E8EDBBFA6BADCBF7753165" 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_814D37A583E8EDBBFA6BADCBF7753165_label_en-US" xlink:label="lab_us-gaap_FairValueInputsLevel2Member_814D37A583E8EDBBFA6BADCBF7753165" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="loc_us-gaap_FairValueInputsLevel2Member_814D37A583E8EDBBFA6BADCBF7753165" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueInputsLevel2Member_814D37A583E8EDBBFA6BADCBF7753165" xlink:to="lab_us-gaap_FairValueInputsLevel2Member_814D37A583E8EDBBFA6BADCBF7753165" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_DBCD3B503469121A0ABDADCBF777F4DE_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_DBCD3B503469121A0ABDADCBF777F4DE" 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_DBCD3B503469121A0ABDADCBF777F4DE_label_en-US" xlink:label="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_DBCD3B503469121A0ABDADCBF777F4DE" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_DBCD3B503469121A0ABDADCBF777F4DE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_DBCD3B503469121A0ABDADCBF777F4DE" xlink:to="lab_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_DBCD3B503469121A0ABDADCBF777F4DE" xlink:type="arc" />
    <link:label id="lab_us-gaap_AssetsFairValueDisclosureAbstract_E30C511A84D33BBFD5D7ADCBF777F8B1_terseLabel_en-US" xlink:label="lab_us-gaap_AssetsFairValueDisclosureAbstract_E30C511A84D33BBFD5D7ADCBF777F8B1" 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_E30C511A84D33BBFD5D7ADCBF777F8B1_label_en-US" xlink:label="lab_us-gaap_AssetsFairValueDisclosureAbstract_E30C511A84D33BBFD5D7ADCBF777F8B1" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AssetsFairValueDisclosureAbstract" xlink:label="loc_us-gaap_AssetsFairValueDisclosureAbstract_E30C511A84D33BBFD5D7ADCBF777F8B1" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsFairValueDisclosureAbstract_E30C511A84D33BBFD5D7ADCBF777F8B1" xlink:to="lab_us-gaap_AssetsFairValueDisclosureAbstract_E30C511A84D33BBFD5D7ADCBF777F8B1" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities_9C975C80941669CD6B39ADCBF77845B4_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities_9C975C80941669CD6B39ADCBF77845B4" 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_9C975C80941669CD6B39ADCBF77845B4_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities_9C975C80941669CD6B39ADCBF77845B4" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available-for-sale Securities, Debt Securities</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_9C975C80941669CD6B39ADCBF77845B4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_9C975C80941669CD6B39ADCBF77845B4" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities_9C975C80941669CD6B39ADCBF77845B4" xlink:type="arc" />
    <link:label id="lab_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_3AD41A68D1A2F2B38870ADCBF7787381_terseLabel_en-US" xlink:label="lab_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_3AD41A68D1A2F2B38870ADCBF7787381" 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_3AD41A68D1A2F2B38870ADCBF7787381_label_en-US" xlink:label="lab_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_3AD41A68D1A2F2B38870ADCBF7787381" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ForeignCurrencyContractAssetFairValueDisclosure" xlink:label="loc_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_3AD41A68D1A2F2B38870ADCBF7787381" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_3AD41A68D1A2F2B38870ADCBF7787381" xlink:to="lab_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_3AD41A68D1A2F2B38870ADCBF7787381" xlink:type="arc" />
    <link:label id="lab_us-gaap_LiabilitiesFairValueDisclosureAbstract_3BDDFE74C927533EF229ADCBF778FBBC_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesFairValueDisclosureAbstract_3BDDFE74C927533EF229ADCBF778FBBC" 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_3BDDFE74C927533EF229ADCBF778FBBC_label_en-US" xlink:label="lab_us-gaap_LiabilitiesFairValueDisclosureAbstract_3BDDFE74C927533EF229ADCBF778FBBC" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LiabilitiesFairValueDisclosureAbstract" xlink:label="loc_us-gaap_LiabilitiesFairValueDisclosureAbstract_3BDDFE74C927533EF229ADCBF778FBBC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesFairValueDisclosureAbstract_3BDDFE74C927533EF229ADCBF778FBBC" xlink:to="lab_us-gaap_LiabilitiesFairValueDisclosureAbstract_3BDDFE74C927533EF229ADCBF778FBBC" xlink:type="arc" />
    <link:label id="lab_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_94D09988B91A5D6ED965ADCBF7781CEA_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_94D09988B91A5D6ED965ADCBF7781CEA" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:type="resource" xml:lang="en-US">Economic hedge forward contracts</link:label>
    <link:label id="lab_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_94D09988B91A5D6ED965ADCBF7781CEA_label_en-US" xlink:label="lab_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_94D09988B91A5D6ED965ADCBF7781CEA" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure" xlink:label="loc_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_94D09988B91A5D6ED965ADCBF7781CEA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_94D09988B91A5D6ED965ADCBF7781CEA" xlink:to="lab_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_94D09988B91A5D6ED965ADCBF7781CEA" xlink:type="arc" />
    <link:label id="lab_us-gaap_BusinessCombinationContingentConsiderationLiability_540CE1AC9F7ED64F2742ADCBF77E9961_terseLabel_en-US" xlink:label="lab_us-gaap_BusinessCombinationContingentConsiderationLiability_540CE1AC9F7ED64F2742ADCBF77E9961" 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_540CE1AC9F7ED64F2742ADCBF77E9961_label_en-US" xlink:label="lab_us-gaap_BusinessCombinationContingentConsiderationLiability_540CE1AC9F7ED64F2742ADCBF77E9961" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationLiability_540CE1AC9F7ED64F2742ADCBF77E9961" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BusinessCombinationContingentConsiderationLiability_540CE1AC9F7ED64F2742ADCBF77E9961" xlink:to="lab_us-gaap_BusinessCombinationContingentConsiderationLiability_540CE1AC9F7ED64F2742ADCBF77E9961" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_8734124BC74200377618AE19FC1B2F9A_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_8734124BC74200377618AE19FC1B2F9A" 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_8734124BC74200377618AE19FC1B2F9A_label_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_8734124BC74200377618AE19FC1B2F9A" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_8734124BC74200377618AE19FC1B2F9A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_8734124BC74200377618AE19FC1B2F9A" xlink:to="lab_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_8734124BC74200377618AE19FC1B2F9A" xlink:type="arc" />
    <link:label id="lab_us-gaap_EmployeeStockOptionMember_BB49879F467E635FF11DAE19FC1BEA82_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeStockOptionMember_BB49879F467E635FF11DAE19FC1BEA82" 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_BB49879F467E635FF11DAE19FC1BEA82_label_en-US" xlink:label="lab_us-gaap_EmployeeStockOptionMember_BB49879F467E635FF11DAE19FC1BEA82" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="loc_us-gaap_EmployeeStockOptionMember_BB49879F467E635FF11DAE19FC1BEA82" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeStockOptionMember_BB49879F467E635FF11DAE19FC1BEA82" xlink:to="lab_us-gaap_EmployeeStockOptionMember_BB49879F467E635FF11DAE19FC1BEA82" xlink:type="arc" />
    <link:label id="lab_us-gaap_PlanNameAxis_4CB421F8878BECAF6A9FAE19FC1C50EE_terseLabel_en-US" xlink:label="lab_us-gaap_PlanNameAxis_4CB421F8878BECAF6A9FAE19FC1C50EE" 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_4CB421F8878BECAF6A9FAE19FC1C50EE_label_en-US" xlink:label="lab_us-gaap_PlanNameAxis_4CB421F8878BECAF6A9FAE19FC1C50EE" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PlanNameAxis" xlink:label="loc_us-gaap_PlanNameAxis_4CB421F8878BECAF6A9FAE19FC1C50EE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PlanNameAxis_4CB421F8878BECAF6A9FAE19FC1C50EE" xlink:to="lab_us-gaap_PlanNameAxis_4CB421F8878BECAF6A9FAE19FC1C50EE" xlink:type="arc" />
    <link:label id="lab_us-gaap_PlanNameDomain_9C3CD238473E3D8FE9E1AE19FC1CA248_terseLabel_en-US" xlink:label="lab_us-gaap_PlanNameDomain_9C3CD238473E3D8FE9E1AE19FC1CA248" 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_9C3CD238473E3D8FE9E1AE19FC1CA248_label_en-US" xlink:label="lab_us-gaap_PlanNameDomain_9C3CD238473E3D8FE9E1AE19FC1CA248" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaap_PlanNameDomain_9C3CD238473E3D8FE9E1AE19FC1CA248" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PlanNameDomain_9C3CD238473E3D8FE9E1AE19FC1CA248" xlink:to="lab_us-gaap_PlanNameDomain_9C3CD238473E3D8FE9E1AE19FC1CA248" xlink:type="arc" />
    <link:label id="lab_cgnx_GeneralStockOptionPlanMember_9E4859D74C626493C28CAE19FC1C7CED_terseLabel_en-US" xlink:label="lab_cgnx_GeneralStockOptionPlanMember_9E4859D74C626493C28CAE19FC1C7CED" 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_9E4859D74C626493C28CAE19FC1C7CED_label_en-US" xlink:label="lab_cgnx_GeneralStockOptionPlanMember_9E4859D74C626493C28CAE19FC1C7CED" 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_9E4859D74C626493C28CAE19FC1C7CED_documentation_en-US" xlink:label="lab_cgnx_GeneralStockOptionPlanMember_9E4859D74C626493C28CAE19FC1C7CED" 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-20180701.xsd#cgnx_GeneralStockOptionPlanMember" xlink:label="loc_cgnx_GeneralStockOptionPlanMember_9E4859D74C626493C28CAE19FC1C7CED" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_GeneralStockOptionPlanMember_9E4859D74C626493C28CAE19FC1C7CED" xlink:to="lab_cgnx_GeneralStockOptionPlanMember_9E4859D74C626493C28CAE19FC1C7CED" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_4F5055A8702268D24592AE19FC1CD803_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_4F5055A8702268D24592AE19FC1CD803" 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_4F5055A8702268D24592AE19FC1CD803_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_4F5055A8702268D24592AE19FC1CD803" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_4F5055A8702268D24592AE19FC1CD803" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_4F5055A8702268D24592AE19FC1CD803" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_4F5055A8702268D24592AE19FC1CD803" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_6301EDA1C9A809B94D05AE19FC1D3AED_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_6301EDA1C9A809B94D05AE19FC1D3AED" 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_6301EDA1C9A809B94D05AE19FC1D3AED_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_6301EDA1C9A809B94D05AE19FC1D3AED" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_6301EDA1C9A809B94D05AE19FC1D3AED" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_6301EDA1C9A809B94D05AE19FC1D3AED" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_6301EDA1C9A809B94D05AE19FC1D3AED" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_4F6DFCB7BBB05007F4EDAE19FC1DD010_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_4F6DFCB7BBB05007F4EDAE19FC1DD010" 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_4F6DFCB7BBB05007F4EDAE19FC1DD010_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_4F6DFCB7BBB05007F4EDAE19FC1DD010" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_4F6DFCB7BBB05007F4EDAE19FC1DD010" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_4F6DFCB7BBB05007F4EDAE19FC1DD010" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_4F6DFCB7BBB05007F4EDAE19FC1DD010" xlink:type="arc" />
    <link:label id="lab_cgnx_ExpirationPeriodOfStockOptionPlan_A9ECF25E7DBC44F5A0BDAE19FC1DA266_terseLabel_en-US" xlink:label="lab_cgnx_ExpirationPeriodOfStockOptionPlan_A9ECF25E7DBC44F5A0BDAE19FC1DA266" 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_A9ECF25E7DBC44F5A0BDAE19FC1DA266_label_en-US" xlink:label="lab_cgnx_ExpirationPeriodOfStockOptionPlan_A9ECF25E7DBC44F5A0BDAE19FC1DA266" 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_A9ECF25E7DBC44F5A0BDAE19FC1DA266_documentation_en-US" xlink:label="lab_cgnx_ExpirationPeriodOfStockOptionPlan_A9ECF25E7DBC44F5A0BDAE19FC1DA266" 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-20180701.xsd#cgnx_ExpirationPeriodOfStockOptionPlan" xlink:label="loc_cgnx_ExpirationPeriodOfStockOptionPlan_A9ECF25E7DBC44F5A0BDAE19FC1DA266" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_ExpirationPeriodOfStockOptionPlan_A9ECF25E7DBC44F5A0BDAE19FC1DA266" xlink:to="lab_cgnx_ExpirationPeriodOfStockOptionPlan_A9ECF25E7DBC44F5A0BDAE19FC1DA266" xlink:type="arc" />
    <link:label id="lab_cgnx_NumberOfGroupsWithinEmployeePopulation_4207886AAB676504979DAE19FC1DD28A_terseLabel_en-US" xlink:label="lab_cgnx_NumberOfGroupsWithinEmployeePopulation_4207886AAB676504979DAE19FC1DD28A" 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_4207886AAB676504979DAE19FC1DD28A_label_en-US" xlink:label="lab_cgnx_NumberOfGroupsWithinEmployeePopulation_4207886AAB676504979DAE19FC1DD28A" 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_4207886AAB676504979DAE19FC1DD28A_documentation_en-US" xlink:label="lab_cgnx_NumberOfGroupsWithinEmployeePopulation_4207886AAB676504979DAE19FC1DD28A" 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-20180701.xsd#cgnx_NumberOfGroupsWithinEmployeePopulation" xlink:label="loc_cgnx_NumberOfGroupsWithinEmployeePopulation_4207886AAB676504979DAE19FC1DD28A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_NumberOfGroupsWithinEmployeePopulation_4207886AAB676504979DAE19FC1DD28A" xlink:to="lab_cgnx_NumberOfGroupsWithinEmployeePopulation_4207886AAB676504979DAE19FC1DD28A" xlink:type="arc" />
    <link:label id="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_41208FDCAD3C5EA21EF6AE19FC1D4670_terseLabel_en-US" xlink:label="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_41208FDCAD3C5EA21EF6AE19FC1D4670" 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_41208FDCAD3C5EA21EF6AE19FC1D4670_label_en-US" xlink:label="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_41208FDCAD3C5EA21EF6AE19FC1D4670" 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_41208FDCAD3C5EA21EF6AE19FC1D4670_documentation_en-US" xlink:label="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_41208FDCAD3C5EA21EF6AE19FC1D4670" 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-20180701.xsd#cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement" xlink:label="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_41208FDCAD3C5EA21EF6AE19FC1D4670" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_41208FDCAD3C5EA21EF6AE19FC1D4670" xlink:to="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_41208FDCAD3C5EA21EF6AE19FC1D4670" xlink:type="arc" />
    <link:label id="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_BDF8C2874AC69DD60D1EAE19FC1E1E7D_terseLabel_en-US" xlink:label="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_BDF8C2874AC69DD60D1EAE19FC1E1E7D" 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_BDF8C2874AC69DD60D1EAE19FC1E1E7D_label_en-US" xlink:label="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_BDF8C2874AC69DD60D1EAE19FC1E1E7D" 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_BDF8C2874AC69DD60D1EAE19FC1E1E7D_documentation_en-US" xlink:label="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_BDF8C2874AC69DD60D1EAE19FC1E1E7D" 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-20180701.xsd#cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement" xlink:label="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_BDF8C2874AC69DD60D1EAE19FC1E1E7D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_BDF8C2874AC69DD60D1EAE19FC1E1E7D" xlink:to="lab_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_BDF8C2874AC69DD60D1EAE19FC1E1E7D" xlink:type="arc" />
    <link:label id="lab_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_EDF69F4D57A52498899AAE19FC1E0722_terseLabel_en-US" xlink:label="lab_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_EDF69F4D57A52498899AAE19FC1E0722" 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_EDF69F4D57A52498899AAE19FC1E0722_label_en-US" xlink:label="lab_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_EDF69F4D57A52498899AAE19FC1E0722" 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_EDF69F4D57A52498899AAE19FC1E0722_documentation_en-US" xlink:label="lab_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_EDF69F4D57A52498899AAE19FC1E0722" 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-20180701.xsd#cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates" xlink:label="loc_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_EDF69F4D57A52498899AAE19FC1E0722" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_EDF69F4D57A52498899AAE19FC1E0722" xlink:to="lab_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_EDF69F4D57A52498899AAE19FC1E0722" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_1BB3693B2BB65CB19964AE19FC1E7157_terseLabel_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_1BB3693B2BB65CB19964AE19FC1E7157" 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_1BB3693B2BB65CB19964AE19FC1E7157_label_en-US" xlink:label="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_1BB3693B2BB65CB19964AE19FC1E7157" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_1BB3693B2BB65CB19964AE19FC1E7157" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_1BB3693B2BB65CB19964AE19FC1E7157" xlink:to="lab_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_1BB3693B2BB65CB19964AE19FC1E7157" xlink:type="arc" />
    <link:label id="lab_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_428DD7D2E54047923C24AE19FC1ED5F0_terseLabel_en-US" xlink:label="lab_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_428DD7D2E54047923C24AE19FC1ED5F0" 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_428DD7D2E54047923C24AE19FC1ED5F0_label_en-US" xlink:label="lab_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_428DD7D2E54047923C24AE19FC1ED5F0" 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_428DD7D2E54047923C24AE19FC1ED5F0_documentation_en-US" xlink:label="lab_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_428DD7D2E54047923C24AE19FC1ED5F0" 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-20180701.xsd#cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue" xlink:label="loc_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_428DD7D2E54047923C24AE19FC1ED5F0" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_428DD7D2E54047923C24AE19FC1ED5F0" xlink:to="lab_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_428DD7D2E54047923C24AE19FC1ED5F0" xlink:type="arc" />
    <link:label id="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_8F7C820B6E3DC8670049AE19FC1EF411_terseLabel_en-US" xlink:label="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_8F7C820B6E3DC8670049AE19FC1EF411" 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_8F7C820B6E3DC8670049AE19FC1EF411_label_en-US" xlink:label="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_8F7C820B6E3DC8670049AE19FC1EF411" 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_8F7C820B6E3DC8670049AE19FC1EF411_documentation_en-US" xlink:label="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_8F7C820B6E3DC8670049AE19FC1EF411" 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-20180701.xsd#cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue" xlink:label="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_8F7C820B6E3DC8670049AE19FC1EF411" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_8F7C820B6E3DC8670049AE19FC1EF411" xlink:to="lab_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_8F7C820B6E3DC8670049AE19FC1EF411" xlink:type="arc" />
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_522C2F6CC4532955D636AE19FC1E82CD_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_522C2F6CC4532955D636AE19FC1E82CD" 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_522C2F6CC4532955D636AE19FC1E82CD_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_522C2F6CC4532955D636AE19FC1E82CD" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_522C2F6CC4532955D636AE19FC1E82CD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_522C2F6CC4532955D636AE19FC1E82CD" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_522C2F6CC4532955D636AE19FC1E82CD" xlink:type="arc" />
    <link:label id="lab_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition_EC62D66A90DD257B81FEAE19FC1E4A4D_terseLabel_en-US" xlink:label="lab_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition_EC62D66A90DD257B81FEAE19FC1E4A4D" 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_EC62D66A90DD257B81FEAE19FC1E4A4D_label_en-US" xlink:label="lab_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition_EC62D66A90DD257B81FEAE19FC1E4A4D" 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_EC62D66A90DD257B81FEAE19FC1E4A4D_documentation_en-US" xlink:label="lab_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition_EC62D66A90DD257B81FEAE19FC1E4A4D" 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-20180701.xsd#cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition" xlink:label="loc_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition_EC62D66A90DD257B81FEAE19FC1E4A4D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition_EC62D66A90DD257B81FEAE19FC1E4A4D" xlink:to="lab_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition_EC62D66A90DD257B81FEAE19FC1E4A4D" xlink:type="arc" />
    <link:label id="lab_us-gaap_AllocatedShareBasedCompensationExpense_B503FE1BBF2621AC69ECAE19FC1F3FA8_terseLabel_en-US" xlink:label="lab_us-gaap_AllocatedShareBasedCompensationExpense_B503FE1BBF2621AC69ECAE19FC1F3FA8" 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_B503FE1BBF2621AC69ECAE19FC1F3FA8_label_en-US" xlink:label="lab_us-gaap_AllocatedShareBasedCompensationExpense_B503FE1BBF2621AC69ECAE19FC1F3FA8" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_B503FE1BBF2621AC69ECAE19FC1F3FA8" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AllocatedShareBasedCompensationExpense_B503FE1BBF2621AC69ECAE19FC1F3FA8" xlink:to="lab_us-gaap_AllocatedShareBasedCompensationExpense_B503FE1BBF2621AC69ECAE19FC1F3FA8" xlink:type="arc" />
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_F35D3FCA14084DBA15C5AE19FC1F11C5_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_F35D3FCA14084DBA15C5AE19FC1F11C5" 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_F35D3FCA14084DBA15C5AE19FC1F11C5_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_F35D3FCA14084DBA15C5AE19FC1F11C5" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_F35D3FCA14084DBA15C5AE19FC1F11C5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_F35D3FCA14084DBA15C5AE19FC1F11C5" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_F35D3FCA14084DBA15C5AE19FC1F11C5" xlink:type="arc" />
    <link:label id="lab_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_85E087B4A1717D5B7025AE19FC1F7E05_terseLabel_en-US" xlink:label="lab_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_85E087B4A1717D5B7025AE19FC1F7E05" 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_85E087B4A1717D5B7025AE19FC1F7E05_label_en-US" xlink:label="lab_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_85E087B4A1717D5B7025AE19FC1F7E05" 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_85E087B4A1717D5B7025AE19FC1F7E05_documentation_en-US" xlink:label="lab_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_85E087B4A1717D5B7025AE19FC1F7E05" 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-20180701.xsd#cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount" xlink:label="loc_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_85E087B4A1717D5B7025AE19FC1F7E05" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_85E087B4A1717D5B7025AE19FC1F7E05" xlink:to="lab_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_85E087B4A1717D5B7025AE19FC1F7E05" xlink:type="arc" />
    <link:label id="lab_cgnx_Vestingperiodperformancebasedrestrictedstockyears_80B50BFEA6ADF02F0157AE19FC1FE381_terseLabel_en-US" xlink:label="lab_cgnx_Vestingperiodperformancebasedrestrictedstockyears_80B50BFEA6ADF02F0157AE19FC1FE381" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Vesting period, performance-based restricted stock, years</link:label>
    <link:label id="lab_cgnx_Vestingperiodperformancebasedrestrictedstockyears_80B50BFEA6ADF02F0157AE19FC1FE381_label_en-US" xlink:label="lab_cgnx_Vestingperiodperformancebasedrestrictedstockyears_80B50BFEA6ADF02F0157AE19FC1FE381" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Vesting period, performance-based restricted stock, years</link:label>
    <link:label id="lab_cgnx_Vestingperiodperformancebasedrestrictedstockyears_80B50BFEA6ADF02F0157AE19FC1FE381_documentation_en-US" xlink:label="lab_cgnx_Vestingperiodperformancebasedrestrictedstockyears_80B50BFEA6ADF02F0157AE19FC1FE381" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Vesting period, performance-based restricted stock, years</link:label>
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_Vestingperiodperformancebasedrestrictedstockyears" xlink:label="loc_cgnx_Vestingperiodperformancebasedrestrictedstockyears_80B50BFEA6ADF02F0157AE19FC1FE381" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_Vestingperiodperformancebasedrestrictedstockyears_80B50BFEA6ADF02F0157AE19FC1FE381" xlink:to="lab_cgnx_Vestingperiodperformancebasedrestrictedstockyears_80B50BFEA6ADF02F0157AE19FC1FE381" xlink:type="arc" />
    <link:label id="lab_cgnx_Vestingperiodtimebasedrestrictedstockyears_AF6D25A7C71B88BEAACDAE19FC1F4FE2_terseLabel_en-US" xlink:label="lab_cgnx_Vestingperiodtimebasedrestrictedstockyears_AF6D25A7C71B88BEAACDAE19FC1F4FE2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Vesting period, time-based restricted stock, years</link:label>
    <link:label id="lab_cgnx_Vestingperiodtimebasedrestrictedstockyears_AF6D25A7C71B88BEAACDAE19FC1F4FE2_label_en-US" xlink:label="lab_cgnx_Vestingperiodtimebasedrestrictedstockyears_AF6D25A7C71B88BEAACDAE19FC1F4FE2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Vesting period, time-based restricted stock, years</link:label>
    <link:label id="lab_cgnx_Vestingperiodtimebasedrestrictedstockyears_AF6D25A7C71B88BEAACDAE19FC1F4FE2_documentation_en-US" xlink:label="lab_cgnx_Vestingperiodtimebasedrestrictedstockyears_AF6D25A7C71B88BEAACDAE19FC1F4FE2" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Vesting period, time-based restricted stock, years</link:label>
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_Vestingperiodtimebasedrestrictedstockyears" xlink:label="loc_cgnx_Vestingperiodtimebasedrestrictedstockyears_AF6D25A7C71B88BEAACDAE19FC1F4FE2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_Vestingperiodtimebasedrestrictedstockyears_AF6D25A7C71B88BEAACDAE19FC1F4FE2" xlink:to="lab_cgnx_Vestingperiodtimebasedrestrictedstockyears_AF6D25A7C71B88BEAACDAE19FC1F4FE2" xlink:type="arc" />
    <link:label id="lab_us-gaap_ProductWarrantyDisclosureTextBlock_7ECC4F1D2C1B8EDD0FFC94A14E96CB71_terseLabel_en-US" xlink:label="lab_us-gaap_ProductWarrantyDisclosureTextBlock_7ECC4F1D2C1B8EDD0FFC94A14E96CB71" 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_7ECC4F1D2C1B8EDD0FFC94A14E96CB71_label_en-US" xlink:label="lab_us-gaap_ProductWarrantyDisclosureTextBlock_7ECC4F1D2C1B8EDD0FFC94A14E96CB71" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ProductWarrantyDisclosureTextBlock" xlink:label="loc_us-gaap_ProductWarrantyDisclosureTextBlock_7ECC4F1D2C1B8EDD0FFC94A14E96CB71" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductWarrantyDisclosureTextBlock_7ECC4F1D2C1B8EDD0FFC94A14E96CB71" xlink:to="lab_us-gaap_ProductWarrantyDisclosureTextBlock_7ECC4F1D2C1B8EDD0FFC94A14E96CB71" xlink:type="arc" />
    <link:label id="lab_us-gaap_CompensationRelatedCostsGeneralTextBlock_9313327BB0017F93805794A14EA1E24D_terseLabel_en-US" xlink:label="lab_us-gaap_CompensationRelatedCostsGeneralTextBlock_9313327BB0017F93805794A14EA1E24D" 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_9313327BB0017F93805794A14EA1E24D_label_en-US" xlink:label="lab_us-gaap_CompensationRelatedCostsGeneralTextBlock_9313327BB0017F93805794A14EA1E24D" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CompensationRelatedCostsGeneralTextBlock" xlink:label="loc_us-gaap_CompensationRelatedCostsGeneralTextBlock_9313327BB0017F93805794A14EA1E24D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CompensationRelatedCostsGeneralTextBlock_9313327BB0017F93805794A14EA1E24D" xlink:to="lab_us-gaap_CompensationRelatedCostsGeneralTextBlock_9313327BB0017F93805794A14EA1E24D" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_F79AC4FBBECE01900DD3B895CE222767_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_F79AC4FBBECE01900DD3B895CE222767" 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_F79AC4FBBECE01900DD3B895CE222767_label_en-US" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_F79AC4FBBECE01900DD3B895CE222767" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_F79AC4FBBECE01900DD3B895CE222767" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_F79AC4FBBECE01900DD3B895CE222767" xlink:to="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_F79AC4FBBECE01900DD3B895CE222767" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_E3A338AD6F19EDE8701CB895CE230B21_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_E3A338AD6F19EDE8701CB895CE230B21" 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_E3A338AD6F19EDE8701CB895CE230B21_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_E3A338AD6F19EDE8701CB895CE230B21" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_E3A338AD6F19EDE8701CB895CE230B21" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_E3A338AD6F19EDE8701CB895CE230B21" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_E3A338AD6F19EDE8701CB895CE230B21" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_D7AE2E3479A591C03F55B895CE23540D_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_D7AE2E3479A591C03F55B895CE23540D" 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_D7AE2E3479A591C03F55B895CE23540D_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_D7AE2E3479A591C03F55B895CE23540D" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_D7AE2E3479A591C03F55B895CE23540D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_D7AE2E3479A591C03F55B895CE23540D" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_D7AE2E3479A591C03F55B895CE23540D" xlink:type="arc" />
    <link:label id="lab_us-gaap_DistributionRightsMember_44136E766B8D79179AE0B895CE23894B_terseLabel_en-US" xlink:label="lab_us-gaap_DistributionRightsMember_44136E766B8D79179AE0B895CE23894B" 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_44136E766B8D79179AE0B895CE23894B_label_en-US" xlink:label="lab_us-gaap_DistributionRightsMember_44136E766B8D79179AE0B895CE23894B" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DistributionRightsMember" xlink:label="loc_us-gaap_DistributionRightsMember_44136E766B8D79179AE0B895CE23894B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DistributionRightsMember_44136E766B8D79179AE0B895CE23894B" xlink:to="lab_us-gaap_DistributionRightsMember_44136E766B8D79179AE0B895CE23894B" xlink:type="arc" />
    <link:label id="lab_us-gaap_DevelopedTechnologyRightsMember_0881C53A2B458005CC9CB895CE23101F_terseLabel_en-US" xlink:label="lab_us-gaap_DevelopedTechnologyRightsMember_0881C53A2B458005CC9CB895CE23101F" 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_0881C53A2B458005CC9CB895CE23101F_label_en-US" xlink:label="lab_us-gaap_DevelopedTechnologyRightsMember_0881C53A2B458005CC9CB895CE23101F" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="loc_us-gaap_DevelopedTechnologyRightsMember_0881C53A2B458005CC9CB895CE23101F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DevelopedTechnologyRightsMember_0881C53A2B458005CC9CB895CE23101F" xlink:to="lab_us-gaap_DevelopedTechnologyRightsMember_0881C53A2B458005CC9CB895CE23101F" xlink:type="arc" />
    <link:label id="lab_cgnx_CustomerContractsAndRelationshipsMember_1E9F3567316D6D0724F0B895CE24F367_terseLabel_en-US" xlink:label="lab_cgnx_CustomerContractsAndRelationshipsMember_1E9F3567316D6D0724F0B895CE24F367" 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_1E9F3567316D6D0724F0B895CE24F367_label_en-US" xlink:label="lab_cgnx_CustomerContractsAndRelationshipsMember_1E9F3567316D6D0724F0B895CE24F367" 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_1E9F3567316D6D0724F0B895CE24F367_documentation_en-US" xlink:label="lab_cgnx_CustomerContractsAndRelationshipsMember_1E9F3567316D6D0724F0B895CE24F367" 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-20180701.xsd#cgnx_CustomerContractsAndRelationshipsMember" xlink:label="loc_cgnx_CustomerContractsAndRelationshipsMember_1E9F3567316D6D0724F0B895CE24F367" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_CustomerContractsAndRelationshipsMember_1E9F3567316D6D0724F0B895CE24F367" xlink:to="lab_cgnx_CustomerContractsAndRelationshipsMember_1E9F3567316D6D0724F0B895CE24F367" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherIntangibleAssetsMember_0BD7837CBD8AD2489BE7B895CE24E43B_terseLabel_en-US" xlink:label="lab_us-gaap_OtherIntangibleAssetsMember_0BD7837CBD8AD2489BE7B895CE24E43B" 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_0BD7837CBD8AD2489BE7B895CE24E43B_label_en-US" xlink:label="lab_us-gaap_OtherIntangibleAssetsMember_0BD7837CBD8AD2489BE7B895CE24E43B" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherIntangibleAssetsMember" xlink:label="loc_us-gaap_OtherIntangibleAssetsMember_0BD7837CBD8AD2489BE7B895CE24E43B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherIntangibleAssetsMember_0BD7837CBD8AD2489BE7B895CE24E43B" xlink:to="lab_us-gaap_OtherIntangibleAssetsMember_0BD7837CBD8AD2489BE7B895CE24E43B" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems_1103AB018EA5690ECFBCB895CE24354F_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems_1103AB018EA5690ECFBCB895CE24354F" 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_1103AB018EA5690ECFBCB895CE24354F_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems_1103AB018EA5690ECFBCB895CE24354F" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_1103AB018EA5690ECFBCB895CE24354F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_1103AB018EA5690ECFBCB895CE24354F" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsLineItems_1103AB018EA5690ECFBCB895CE24354F" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsGross_EBB8A473CC41C4CA59D1B895CE24BB7B_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsGross_EBB8A473CC41C4CA59D1B895CE24BB7B" 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_EBB8A473CC41C4CA59D1B895CE24BB7B_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsGross_EBB8A473CC41C4CA59D1B895CE24BB7B" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross_EBB8A473CC41C4CA59D1B895CE24BB7B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsGross_EBB8A473CC41C4CA59D1B895CE24BB7B" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsGross_EBB8A473CC41C4CA59D1B895CE24BB7B" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_5362584D98B62180EFBCB895CE241954_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_5362584D98B62180EFBCB895CE241954" 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_5362584D98B62180EFBCB895CE241954_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_5362584D98B62180EFBCB895CE241954" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_5362584D98B62180EFBCB895CE241954" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_5362584D98B62180EFBCB895CE241954" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_5362584D98B62180EFBCB895CE241954" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsNet_42870DE02C5353F6E18AB895CE253329_totalLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsNet_42870DE02C5353F6E18AB895CE253329" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net Carrying Value</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsNet_42870DE02C5353F6E18AB895CE253329_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsNet_42870DE02C5353F6E18AB895CE253329" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_42870DE02C5353F6E18AB895CE253329" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_42870DE02C5353F6E18AB895CE253329" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsNet_42870DE02C5353F6E18AB895CE253329" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_5955204B82A88A686C76B8CC0D326BAA_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_5955204B82A88A686C76B8CC0D326BAA" 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_5955204B82A88A686C76B8CC0D326BAA_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_5955204B82A88A686C76B8CC0D326BAA" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_5955204B82A88A686C76B8CC0D326BAA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_5955204B82A88A686C76B8CC0D326BAA" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_5955204B82A88A686C76B8CC0D326BAA" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_459AB15FD211CB401130B8C292206717_verboseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_459AB15FD211CB401130B8C292206717" xlink:role="http://www.xbrl.org/2003/role/verboseLabel" xlink:type="resource" xml:lang="en-US">Remainder of fiscal 2018</link:label>
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_459AB15FD211CB401130B8C292206717_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_459AB15FD211CB401130B8C292206717" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_459AB15FD211CB401130B8C292206717" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_459AB15FD211CB401130B8C292206717" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_459AB15FD211CB401130B8C292206717" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_08D19164956E6945F218B8C292391FBD_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_08D19164956E6945F218B8C292391FBD" 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_08D19164956E6945F218B8C292391FBD_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_08D19164956E6945F218B8C292391FBD" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_08D19164956E6945F218B8C292391FBD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_08D19164956E6945F218B8C292391FBD" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_08D19164956E6945F218B8C292391FBD" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_C9781AA965D588B3652FB8C292582C81_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_C9781AA965D588B3652FB8C292582C81" 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_C9781AA965D588B3652FB8C292582C81_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_C9781AA965D588B3652FB8C292582C81" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_C9781AA965D588B3652FB8C292582C81" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_C9781AA965D588B3652FB8C292582C81" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_C9781AA965D588B3652FB8C292582C81" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_7C13741B14F1D346126CB8C292708CC4_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_7C13741B14F1D346126CB8C292708CC4" 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_7C13741B14F1D346126CB8C292708CC4_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_7C13741B14F1D346126CB8C292708CC4" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_7C13741B14F1D346126CB8C292708CC4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_7C13741B14F1D346126CB8C292708CC4" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_7C13741B14F1D346126CB8C292708CC4" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_B55970C0D716721238D0B8C29288FE0E_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_B55970C0D716721238D0B8C29288FE0E" 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_B55970C0D716721238D0B8C29288FE0E_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_B55970C0D716721238D0B8C29288FE0E" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_B55970C0D716721238D0B8C29288FE0E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_B55970C0D716721238D0B8C29288FE0E" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_B55970C0D716721238D0B8C29288FE0E" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_DACD9DD166F882089E34B8C292A1B022_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_DACD9DD166F882089E34B8C292A1B022" 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_DACD9DD166F882089E34B8C292A1B022_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_DACD9DD166F882089E34B8C292A1B022" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_DACD9DD166F882089E34B8C292A1B022" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_DACD9DD166F882089E34B8C292A1B022" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_DACD9DD166F882089E34B8C292A1B022" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_822F25E5EB4843C9DE3BB8C292BD5912_verboseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_822F25E5EB4843C9DE3BB8C292BD5912" 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_822F25E5EB4843C9DE3BB8C292BD5912_label_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_822F25E5EB4843C9DE3BB8C292BD5912" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_822F25E5EB4843C9DE3BB8C292BD5912" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_822F25E5EB4843C9DE3BB8C292BD5912" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_822F25E5EB4843C9DE3BB8C292BD5912" xlink:type="arc" />
    <link:label id="lab_us-gaap_EarningsPerShareTextBlock_14990AC92E5563F15AA594A14FC6B559_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareTextBlock_14990AC92E5563F15AA594A14FC6B559" 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_14990AC92E5563F15AA594A14FC6B559_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareTextBlock_14990AC92E5563F15AA594A14FC6B559" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="loc_us-gaap_EarningsPerShareTextBlock_14990AC92E5563F15AA594A14FC6B559" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareTextBlock_14990AC92E5563F15AA594A14FC6B559" xlink:to="lab_us-gaap_EarningsPerShareTextBlock_14990AC92E5563F15AA594A14FC6B559" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_6E9EBC618BEB606B2EA094A14EBEC5F3_terseLabel_en-US" xlink:label="lab_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_6E9EBC618BEB606B2EA094A14EBEC5F3" 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_6E9EBC618BEB606B2EA094A14EBEC5F3_label_en-US" xlink:label="lab_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_6E9EBC618BEB606B2EA094A14EBEC5F3" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:label="loc_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_6E9EBC618BEB606B2EA094A14EBEC5F3" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_6E9EBC618BEB606B2EA094A14EBEC5F3" xlink:to="lab_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_6E9EBC618BEB606B2EA094A14EBEC5F3" xlink:type="arc" />
    <link:label id="lab_us-gaap_HedgingDesignationAxis_89EC421086533562541E94A14EBE60EB_terseLabel_en-US" xlink:label="lab_us-gaap_HedgingDesignationAxis_89EC421086533562541E94A14EBE60EB" 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_89EC421086533562541E94A14EBE60EB_label_en-US" xlink:label="lab_us-gaap_HedgingDesignationAxis_89EC421086533562541E94A14EBE60EB" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_HedgingDesignationAxis" xlink:label="loc_us-gaap_HedgingDesignationAxis_89EC421086533562541E94A14EBE60EB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_HedgingDesignationAxis_89EC421086533562541E94A14EBE60EB" xlink:to="lab_us-gaap_HedgingDesignationAxis_89EC421086533562541E94A14EBE60EB" xlink:type="arc" />
    <link:label id="lab_us-gaap_HedgingDesignationDomain_BB4194D43AB7BF8A651A94A14EBE47B9_terseLabel_en-US" xlink:label="lab_us-gaap_HedgingDesignationDomain_BB4194D43AB7BF8A651A94A14EBE47B9" 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_BB4194D43AB7BF8A651A94A14EBE47B9_label_en-US" xlink:label="lab_us-gaap_HedgingDesignationDomain_BB4194D43AB7BF8A651A94A14EBE47B9" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_BB4194D43AB7BF8A651A94A14EBE47B9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_HedgingDesignationDomain_BB4194D43AB7BF8A651A94A14EBE47B9" xlink:to="lab_us-gaap_HedgingDesignationDomain_BB4194D43AB7BF8A651A94A14EBE47B9" xlink:type="arc" />
    <link:label id="lab_us-gaap_DesignatedAsHedgingInstrumentMember_DF712067A7503CAA2DCF94A14EBE702C_terseLabel_en-US" xlink:label="lab_us-gaap_DesignatedAsHedgingInstrumentMember_DF712067A7503CAA2DCF94A14EBE702C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Designated as Hedging Instrument</link:label>
    <link:label id="lab_us-gaap_DesignatedAsHedgingInstrumentMember_DF712067A7503CAA2DCF94A14EBE702C_label_en-US" xlink:label="lab_us-gaap_DesignatedAsHedgingInstrumentMember_DF712067A7503CAA2DCF94A14EBE702C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Designated as Hedging Instrument [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DesignatedAsHedgingInstrumentMember" xlink:label="loc_us-gaap_DesignatedAsHedgingInstrumentMember_DF712067A7503CAA2DCF94A14EBE702C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DesignatedAsHedgingInstrumentMember_DF712067A7503CAA2DCF94A14EBE702C" xlink:to="lab_us-gaap_DesignatedAsHedgingInstrumentMember_DF712067A7503CAA2DCF94A14EBE702C" xlink:type="arc" />
    <link:label id="lab_us-gaap_NondesignatedMember_2102D4CB3B36B91DF82194A14EBFDA5E_terseLabel_en-US" xlink:label="lab_us-gaap_NondesignatedMember_2102D4CB3B36B91DF82194A14EBFDA5E" 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_2102D4CB3B36B91DF82194A14EBFDA5E_label_en-US" xlink:label="lab_us-gaap_NondesignatedMember_2102D4CB3B36B91DF82194A14EBFDA5E" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NondesignatedMember" xlink:label="loc_us-gaap_NondesignatedMember_2102D4CB3B36B91DF82194A14EBFDA5E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NondesignatedMember_2102D4CB3B36B91DF82194A14EBFDA5E" xlink:to="lab_us-gaap_NondesignatedMember_2102D4CB3B36B91DF82194A14EBFDA5E" xlink:type="arc" />
    <link:label id="lab_us-gaap_BalanceSheetLocationAxis_F3D64ECFE13956921ADF94A14EBF6B9E_terseLabel_en-US" xlink:label="lab_us-gaap_BalanceSheetLocationAxis_F3D64ECFE13956921ADF94A14EBF6B9E" 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_F3D64ECFE13956921ADF94A14EBF6B9E_label_en-US" xlink:label="lab_us-gaap_BalanceSheetLocationAxis_F3D64ECFE13956921ADF94A14EBF6B9E" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="loc_us-gaap_BalanceSheetLocationAxis_F3D64ECFE13956921ADF94A14EBF6B9E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BalanceSheetLocationAxis_F3D64ECFE13956921ADF94A14EBF6B9E" xlink:to="lab_us-gaap_BalanceSheetLocationAxis_F3D64ECFE13956921ADF94A14EBF6B9E" xlink:type="arc" />
    <link:label id="lab_us-gaap_BalanceSheetLocationDomain_5E3B74B486925A88CC5994A14EBF079C_terseLabel_en-US" xlink:label="lab_us-gaap_BalanceSheetLocationDomain_5E3B74B486925A88CC5994A14EBF079C" 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_5E3B74B486925A88CC5994A14EBF079C_label_en-US" xlink:label="lab_us-gaap_BalanceSheetLocationDomain_5E3B74B486925A88CC5994A14EBF079C" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_5E3B74B486925A88CC5994A14EBF079C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_BalanceSheetLocationDomain_5E3B74B486925A88CC5994A14EBF079C" xlink:to="lab_us-gaap_BalanceSheetLocationDomain_5E3B74B486925A88CC5994A14EBF079C" xlink:type="arc" />
    <link:label id="lab_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_8CC943FA5298F19D113194A14EC01666_terseLabel_en-US" xlink:label="lab_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_8CC943FA5298F19D113194A14EC01666" 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_8CC943FA5298F19D113194A14EC01666_label_en-US" xlink:label="lab_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_8CC943FA5298F19D113194A14EC01666" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" xlink:label="loc_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_8CC943FA5298F19D113194A14EC01666" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_8CC943FA5298F19D113194A14EC01666" xlink:to="lab_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_8CC943FA5298F19D113194A14EC01666" xlink:type="arc" />
    <link:label id="lab_cgnx_AccruedExpensesMember_9006120977755E590CBB94A14EC0088A_terseLabel_en-US" xlink:label="lab_cgnx_AccruedExpensesMember_9006120977755E590CBB94A14EC0088A" 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_9006120977755E590CBB94A14EC0088A_label_en-US" xlink:label="lab_cgnx_AccruedExpensesMember_9006120977755E590CBB94A14EC0088A" 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_9006120977755E590CBB94A14EC0088A_documentation_en-US" xlink:label="lab_cgnx_AccruedExpensesMember_9006120977755E590CBB94A14EC0088A" 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-20180701.xsd#cgnx_AccruedExpensesMember" xlink:label="loc_cgnx_AccruedExpensesMember_9006120977755E590CBB94A14EC0088A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_AccruedExpensesMember_9006120977755E590CBB94A14EC0088A" xlink:to="lab_cgnx_AccruedExpensesMember_9006120977755E590CBB94A14EC0088A" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativesFairValueLineItems_F866E7C02691809F3DA194A14EC094E4_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativesFairValueLineItems_F866E7C02691809F3DA194A14EC094E4" 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_F866E7C02691809F3DA194A14EC094E4_label_en-US" xlink:label="lab_us-gaap_DerivativesFairValueLineItems_F866E7C02691809F3DA194A14EC094E4" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativesFairValueLineItems" xlink:label="loc_us-gaap_DerivativesFairValueLineItems_F866E7C02691809F3DA194A14EC094E4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativesFairValueLineItems_F866E7C02691809F3DA194A14EC094E4" xlink:to="lab_us-gaap_DerivativesFairValueLineItems_F866E7C02691809F3DA194A14EC094E4" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeAssets_3F780B35BA986A5E2E1F94A14EC06D7A_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeAssets_3F780B35BA986A5E2E1F94A14EC06D7A" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeAssets" xlink:label="loc_us-gaap_DerivativeAssets_3F780B35BA986A5E2E1F94A14EC06D7A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeAssets_3F780B35BA986A5E2E1F94A14EC06D7A" xlink:to="lab_us-gaap_DerivativeAssets_3F780B35BA986A5E2E1F94A14EC06D7A" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeLiabilities_77D7B493BD6CE64503EF94A14EC19BC6_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeLiabilities_77D7B493BD6CE64503EF94A14EC19BC6" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeLiabilities" xlink:label="loc_us-gaap_DerivativeLiabilities_77D7B493BD6CE64503EF94A14EC19BC6" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeLiabilities_77D7B493BD6CE64503EF94A14EC19BC6" xlink:to="lab_us-gaap_DerivativeLiabilities_77D7B493BD6CE64503EF94A14EC19BC6" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_040D967203B4AE79223F94A14FF95F0D_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_040D967203B4AE79223F94A14FF95F0D" 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_040D967203B4AE79223F94A14FF95F0D_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_040D967203B4AE79223F94A14FF95F0D" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_040D967203B4AE79223F94A14FF95F0D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_040D967203B4AE79223F94A14FF95F0D" xlink:to="lab_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_040D967203B4AE79223F94A14FF95F0D" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_6E7ED3AD08E981306320A9F25CDD38B0_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_6E7ED3AD08E981306320A9F25CDD38B0" 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_6E7ED3AD08E981306320A9F25CDD38B0_label_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_6E7ED3AD08E981306320A9F25CDD38B0" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_6E7ED3AD08E981306320A9F25CDD38B0" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_6E7ED3AD08E981306320A9F25CDD38B0" xlink:to="lab_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_6E7ED3AD08E981306320A9F25CDD38B0" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeStatementLocationAxis_890F9E11DBC7C4F215C3A9F25CDFC09B_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationAxis_890F9E11DBC7C4F215C3A9F25CDFC09B" 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_890F9E11DBC7C4F215C3A9F25CDFC09B_label_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationAxis_890F9E11DBC7C4F215C3A9F25CDFC09B" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_890F9E11DBC7C4F215C3A9F25CDFC09B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementLocationAxis_890F9E11DBC7C4F215C3A9F25CDFC09B" xlink:to="lab_us-gaap_IncomeStatementLocationAxis_890F9E11DBC7C4F215C3A9F25CDFC09B" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeStatementLocationDomain_FA078DF786158A94AC49A9F25CDFC2E2_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationDomain_FA078DF786158A94AC49A9F25CDFC2E2" 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_FA078DF786158A94AC49A9F25CDFC2E2_label_en-US" xlink:label="lab_us-gaap_IncomeStatementLocationDomain_FA078DF786158A94AC49A9F25CDFC2E2" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_FA078DF786158A94AC49A9F25CDFC2E2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementLocationDomain_FA078DF786158A94AC49A9F25CDFC2E2" xlink:to="lab_us-gaap_IncomeStatementLocationDomain_FA078DF786158A94AC49A9F25CDFC2E2" xlink:type="arc" />
    <link:label id="lab_us-gaap_CashFlowHedgingMember_71D763B64C5B8F9EABF5A9F25CDF929C_terseLabel_en-US" xlink:label="lab_us-gaap_CashFlowHedgingMember_71D763B64C5B8F9EABF5A9F25CDF929C" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accumulated Other Comprehensive Income (Loss), Net of Tax</link:label>
    <link:label id="lab_us-gaap_CashFlowHedgingMember_71D763B64C5B8F9EABF5A9F25CDF929C_label_en-US" xlink:label="lab_us-gaap_CashFlowHedgingMember_71D763B64C5B8F9EABF5A9F25CDF929C" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cash Flow Hedging [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CashFlowHedgingMember" xlink:label="loc_us-gaap_CashFlowHedgingMember_71D763B64C5B8F9EABF5A9F25CDF929C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashFlowHedgingMember_71D763B64C5B8F9EABF5A9F25CDF929C" xlink:to="lab_us-gaap_CashFlowHedgingMember_71D763B64C5B8F9EABF5A9F25CDF929C" xlink:type="arc" />
    <link:label id="lab_us-gaap_SalesRevenueGoodsNetMember_EF4E2451D3F363F95F71A9F25CDF1447_terseLabel_en-US" xlink:label="lab_us-gaap_SalesRevenueGoodsNetMember_EF4E2451D3F363F95F71A9F25CDF1447" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Product Revenue</link:label>
    <link:label id="lab_us-gaap_SalesRevenueGoodsNetMember_EF4E2451D3F363F95F71A9F25CDF1447_label_en-US" xlink:label="lab_us-gaap_SalesRevenueGoodsNetMember_EF4E2451D3F363F95F71A9F25CDF1447" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Sales Revenue, Goods, Net [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SalesRevenueGoodsNetMember" xlink:label="loc_us-gaap_SalesRevenueGoodsNetMember_EF4E2451D3F363F95F71A9F25CDF1447" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SalesRevenueGoodsNetMember_EF4E2451D3F363F95F71A9F25CDF1447" xlink:to="lab_us-gaap_SalesRevenueGoodsNetMember_EF4E2451D3F363F95F71A9F25CDF1447" xlink:type="arc" />
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpenseMember_2868C8F36877596E08A7A9F25CE032BF_terseLabel_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpenseMember_2868C8F36877596E08A7A9F25CE032BF" 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_2868C8F36877596E08A7A9F25CE032BF_label_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpenseMember_2868C8F36877596E08A7A9F25CE032BF" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpenseMember_2868C8F36877596E08A7A9F25CE032BF" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ResearchAndDevelopmentExpenseMember_2868C8F36877596E08A7A9F25CE032BF" xlink:to="lab_us-gaap_ResearchAndDevelopmentExpenseMember_2868C8F36877596E08A7A9F25CE032BF" xlink:type="arc" />
    <link:label id="lab_us-gaap_GeneralAndAdministrativeExpenseMember_0DCC4DDF477A565ABC59A9F25CE0C4D3_terseLabel_en-US" xlink:label="lab_us-gaap_GeneralAndAdministrativeExpenseMember_0DCC4DDF477A565ABC59A9F25CE0C4D3" 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_GeneralAndAdministrativeExpenseMember_0DCC4DDF477A565ABC59A9F25CE0C4D3_label_en-US" xlink:label="lab_us-gaap_GeneralAndAdministrativeExpenseMember_0DCC4DDF477A565ABC59A9F25CE0C4D3" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">General and Administrative Expense [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_GeneralAndAdministrativeExpenseMember" xlink:label="loc_us-gaap_GeneralAndAdministrativeExpenseMember_0DCC4DDF477A565ABC59A9F25CE0C4D3" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GeneralAndAdministrativeExpenseMember_0DCC4DDF477A565ABC59A9F25CE0C4D3" xlink:to="lab_us-gaap_GeneralAndAdministrativeExpenseMember_0DCC4DDF477A565ABC59A9F25CE0C4D3" xlink:type="arc" />
    <link:label id="lab_us-gaap_ForeignCurrencyGainLossMember_16BF606423BA9911610DA9F25CE00F1B_terseLabel_en-US" xlink:label="lab_us-gaap_ForeignCurrencyGainLossMember_16BF606423BA9911610DA9F25CE00F1B" 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_16BF606423BA9911610DA9F25CE00F1B_label_en-US" xlink:label="lab_us-gaap_ForeignCurrencyGainLossMember_16BF606423BA9911610DA9F25CE00F1B" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ForeignCurrencyGainLossMember" xlink:label="loc_us-gaap_ForeignCurrencyGainLossMember_16BF606423BA9911610DA9F25CE00F1B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ForeignCurrencyGainLossMember_16BF606423BA9911610DA9F25CE00F1B" xlink:to="lab_us-gaap_ForeignCurrencyGainLossMember_16BF606423BA9911610DA9F25CE00F1B" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeInstrumentsGainLossLineItems_3445383BDF6221A23CFFA9F25CE0748E_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsGainLossLineItems_3445383BDF6221A23CFFA9F25CE0748E" 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_3445383BDF6221A23CFFA9F25CE0748E_label_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsGainLossLineItems_3445383BDF6221A23CFFA9F25CE0748E" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossLineItems" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_3445383BDF6221A23CFFA9F25CE0748E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_3445383BDF6221A23CFFA9F25CE0748E" xlink:to="lab_us-gaap_DerivativeInstrumentsGainLossLineItems_3445383BDF6221A23CFFA9F25CE0748E" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet_835651DE86347C4A78C0A9F25CE07E48_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet_835651DE86347C4A78C0A9F25CE07E48" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Gains (losses) recorded in shareholders' equity (effective portion)</link:label>
    <link:label id="lab_us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet_835651DE86347C4A78C0A9F25CE07E48_label_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet_835651DE86347C4A78C0A9F25CE07E48" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Instruments, Gain (Loss) Recognized in Other Comprehensive Income (Loss), Effective Portion, Net</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet_835651DE86347C4A78C0A9F25CE07E48" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet_835651DE86347C4A78C0A9F25CE07E48" xlink:to="lab_us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet_835651DE86347C4A78C0A9F25CE07E48" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet_A3DE09D2EEDB48B79ABFA9F25CE01784_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet_A3DE09D2EEDB48B79ABFA9F25CE01784" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Gains (losses) reclassified from accumulated other comprehensive income (loss) into current operations (effective portion)</link:label>
    <link:label id="lab_us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet_A3DE09D2EEDB48B79ABFA9F25CE01784_label_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet_A3DE09D2EEDB48B79ABFA9F25CE01784" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Instruments, Gain (Loss) Reclassified from Accumulated OCI into Income, Effective Portion, Net</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet_A3DE09D2EEDB48B79ABFA9F25CE01784" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet_A3DE09D2EEDB48B79ABFA9F25CE01784" xlink:to="lab_us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet_A3DE09D2EEDB48B79ABFA9F25CE01784" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_35A01ACC1932F0DC7AC7A9F25CE144A4_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_35A01ACC1932F0DC7AC7A9F25CE144A4" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Total gains (losses) reclassified from accumulated other comprehensive income (loss) into current operations</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_35A01ACC1932F0DC7AC7A9F25CE144A4_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_35A01ACC1932F0DC7AC7A9F25CE144A4" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Comprehensive Income (Loss), Reclassification Adjustment from AOCI on Derivatives, Net of Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_35A01ACC1932F0DC7AC7A9F25CE144A4" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_35A01ACC1932F0DC7AC7A9F25CE144A4" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_35A01ACC1932F0DC7AC7A9F25CE144A4" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet_E022F279FB1FE2451DD7AA24CC986A2A_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet_E022F279FB1FE2451DD7AA24CC986A2A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Derivative Instruments, Gain (Loss) Recognized in Income, Ineffective Portion and Amount Excluded from Effectiveness Testing, Net</link:label>
    <link:label id="lab_us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet_E022F279FB1FE2451DD7AA24CC986A2A_label_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet_E022F279FB1FE2451DD7AA24CC986A2A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative Instruments, Gain (Loss) Recognized in Income, Ineffective Portion and Amount Excluded from Effectiveness Testing, Net</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet_E022F279FB1FE2451DD7AA24CC986A2A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet_E022F279FB1FE2451DD7AA24CC986A2A" xlink:to="lab_us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet_E022F279FB1FE2451DD7AA24CC986A2A" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeGainLossOnDerivativeNet_318833750F4F071D9C07A9F25CE1BEBF_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeGainLossOnDerivativeNet_318833750F4F071D9C07A9F25CE1BEBF" 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_318833750F4F071D9C07A9F25CE1BEBF_label_en-US" xlink:label="lab_us-gaap_DerivativeGainLossOnDerivativeNet_318833750F4F071D9C07A9F25CE1BEBF" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeGainLossOnDerivativeNet" xlink:label="loc_us-gaap_DerivativeGainLossOnDerivativeNet_318833750F4F071D9C07A9F25CE1BEBF" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeGainLossOnDerivativeNet_318833750F4F071D9C07A9F25CE1BEBF" xlink:to="lab_us-gaap_DerivativeGainLossOnDerivativeNet_318833750F4F071D9C07A9F25CE1BEBF" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_DC51E59EA32A21436F7B94A150247471_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_DC51E59EA32A21436F7B94A150247471" 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_DC51E59EA32A21436F7B94A150247471_label_en-US" xlink:label="lab_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_DC51E59EA32A21436F7B94A150247471" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_DC51E59EA32A21436F7B94A150247471" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_DC51E59EA32A21436F7B94A150247471" xlink:to="lab_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_DC51E59EA32A21436F7B94A150247471" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccountingPoliciesAbstract_D8192BB07E7BE23397F394A14F4360BC_label_en-US" xlink:label="lab_us-gaap_AccountingPoliciesAbstract_D8192BB07E7BE23397F394A14F4360BC" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_D8192BB07E7BE23397F394A14F4360BC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountingPoliciesAbstract_D8192BB07E7BE23397F394A14F4360BC" xlink:to="lab_us-gaap_AccountingPoliciesAbstract_D8192BB07E7BE23397F394A14F4360BC" xlink:type="arc" />
    <link:label id="lab_us-gaap_SignificantAccountingPoliciesTextBlock_C04502A55913AA830C2A94A14F4364CC_terseLabel_en-US" xlink:label="lab_us-gaap_SignificantAccountingPoliciesTextBlock_C04502A55913AA830C2A94A14F4364CC" 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_C04502A55913AA830C2A94A14F4364CC_label_en-US" xlink:label="lab_us-gaap_SignificantAccountingPoliciesTextBlock_C04502A55913AA830C2A94A14F4364CC" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SignificantAccountingPoliciesTextBlock" xlink:label="loc_us-gaap_SignificantAccountingPoliciesTextBlock_C04502A55913AA830C2A94A14F4364CC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SignificantAccountingPoliciesTextBlock_C04502A55913AA830C2A94A14F4364CC" xlink:to="lab_us-gaap_SignificantAccountingPoliciesTextBlock_C04502A55913AA830C2A94A14F4364CC" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_583201E86163649D3C9C94A14F81912A_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_583201E86163649D3C9C94A14F81912A" 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_583201E86163649D3C9C94A14F81912A_label_en-US" xlink:label="lab_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_583201E86163649D3C9C94A14F81912A" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_583201E86163649D3C9C94A14F81912A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_583201E86163649D3C9C94A14F81912A" xlink:to="lab_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_583201E86163649D3C9C94A14F81912A" xlink:type="arc" />
    <link:label id="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_031CD5222344AC3DA4E694A14F81D1B9_terseLabel_en-US" xlink:label="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_031CD5222344AC3DA4E694A14F81D1B9" 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_031CD5222344AC3DA4E694A14F81D1B9_label_en-US" xlink:label="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_031CD5222344AC3DA4E694A14F81D1B9" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" xlink:label="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_031CD5222344AC3DA4E694A14F81D1B9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_031CD5222344AC3DA4E694A14F81D1B9" xlink:to="lab_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_031CD5222344AC3DA4E694A14F81D1B9" xlink:type="arc" />
    <link:label id="lab_us-gaap_StatementOfFinancialPositionAbstract_34894E216FC15A6063D094A14F7DD2FD_label_en-US" xlink:label="lab_us-gaap_StatementOfFinancialPositionAbstract_34894E216FC15A6063D094A14F7DD2FD" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract_34894E216FC15A6063D094A14F7DD2FD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StatementOfFinancialPositionAbstract_34894E216FC15A6063D094A14F7DD2FD" xlink:to="lab_us-gaap_StatementOfFinancialPositionAbstract_34894E216FC15A6063D094A14F7DD2FD" xlink:type="arc" />
    <link:label id="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_2BDB2A8CE1065B1E221594A14F7E1594_terseLabel_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_2BDB2A8CE1065B1E221594A14F7E1594" 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_2BDB2A8CE1065B1E221594A14F7E1594_label_en-US" xlink:label="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_2BDB2A8CE1065B1E221594A14F7E1594" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_2BDB2A8CE1065B1E221594A14F7E1594" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_2BDB2A8CE1065B1E221594A14F7E1594" xlink:to="lab_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_2BDB2A8CE1065B1E221594A14F7E1594" xlink:type="arc" />
    <link:label id="lab_us-gaap_CommonStockParOrStatedValuePerShare_E4891EBE71A6CDD67F3D94A14F7E2CD3_verboseLabel_en-US" xlink:label="lab_us-gaap_CommonStockParOrStatedValuePerShare_E4891EBE71A6CDD67F3D94A14F7E2CD3" 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_E4891EBE71A6CDD67F3D94A14F7E2CD3_label_en-US" xlink:label="lab_us-gaap_CommonStockParOrStatedValuePerShare_E4891EBE71A6CDD67F3D94A14F7E2CD3" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare_E4891EBE71A6CDD67F3D94A14F7E2CD3" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockParOrStatedValuePerShare_E4891EBE71A6CDD67F3D94A14F7E2CD3" xlink:to="lab_us-gaap_CommonStockParOrStatedValuePerShare_E4891EBE71A6CDD67F3D94A14F7E2CD3" xlink:type="arc" />
    <link:label id="lab_us-gaap_CommonStockSharesAuthorized_C223A62FD1D59C99CFCE94A14F7E9CBE_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesAuthorized_C223A62FD1D59C99CFCE94A14F7E9CBE" 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_C223A62FD1D59C99CFCE94A14F7E9CBE_label_en-US" xlink:label="lab_us-gaap_CommonStockSharesAuthorized_C223A62FD1D59C99CFCE94A14F7E9CBE" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="loc_us-gaap_CommonStockSharesAuthorized_C223A62FD1D59C99CFCE94A14F7E9CBE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesAuthorized_C223A62FD1D59C99CFCE94A14F7E9CBE" xlink:to="lab_us-gaap_CommonStockSharesAuthorized_C223A62FD1D59C99CFCE94A14F7E9CBE" xlink:type="arc" />
    <link:label id="lab_us-gaap_CommonStockSharesIssued_5336C9C06A7A1727E9EF94A14F7EBD41_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockSharesIssued_5336C9C06A7A1727E9EF94A14F7EBD41" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaap_CommonStockSharesIssued_5336C9C06A7A1727E9EF94A14F7EBD41" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockSharesIssued_5336C9C06A7A1727E9EF94A14F7EBD41" xlink:to="lab_us-gaap_CommonStockSharesIssued_5336C9C06A7A1727E9EF94A14F7EBD41" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeStatementAbstract_22A4DEBF2DAB7B19AC50ADCCEC3FA536_label_en-US" xlink:label="lab_us-gaap_IncomeStatementAbstract_22A4DEBF2DAB7B19AC50ADCCEC3FA536" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeStatementAbstract" xlink:label="loc_us-gaap_IncomeStatementAbstract_22A4DEBF2DAB7B19AC50ADCCEC3FA536" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeStatementAbstract_22A4DEBF2DAB7B19AC50ADCCEC3FA536" xlink:to="lab_us-gaap_IncomeStatementAbstract_22A4DEBF2DAB7B19AC50ADCCEC3FA536" xlink:type="arc" />
    <link:label id="lab_us-gaap_SalesRevenueNet_6CC279813D36F907EAA4ADCCEC3F0198_terseLabel_en-US" xlink:label="lab_us-gaap_SalesRevenueNet_6CC279813D36F907EAA4ADCCEC3F0198" 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_SalesRevenueNet_6CC279813D36F907EAA4ADCCEC3F0198_label_en-US" xlink:label="lab_us-gaap_SalesRevenueNet_6CC279813D36F907EAA4ADCCEC3F0198" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revenue, Net</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SalesRevenueNet" xlink:label="loc_us-gaap_SalesRevenueNet_6CC279813D36F907EAA4ADCCEC3F0198" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SalesRevenueNet_6CC279813D36F907EAA4ADCCEC3F0198" xlink:to="lab_us-gaap_SalesRevenueNet_6CC279813D36F907EAA4ADCCEC3F0198" xlink:type="arc" />
    <link:label id="lab_us-gaap_CostOfGoodsAndServicesSold_81319E1BA43FBE51E125ADCCEC403388_terseLabel_en-US" xlink:label="lab_us-gaap_CostOfGoodsAndServicesSold_81319E1BA43FBE51E125ADCCEC403388" 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_81319E1BA43FBE51E125ADCCEC403388_label_en-US" xlink:label="lab_us-gaap_CostOfGoodsAndServicesSold_81319E1BA43FBE51E125ADCCEC403388" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold_81319E1BA43FBE51E125ADCCEC403388" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CostOfGoodsAndServicesSold_81319E1BA43FBE51E125ADCCEC403388" xlink:to="lab_us-gaap_CostOfGoodsAndServicesSold_81319E1BA43FBE51E125ADCCEC403388" xlink:type="arc" />
    <link:label id="lab_us-gaap_GrossProfit_8D1567A0928E61A9C1E7ADCCEC407884_totalLabel_en-US" xlink:label="lab_us-gaap_GrossProfit_8D1567A0928E61A9C1E7ADCCEC407884" 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_8D1567A0928E61A9C1E7ADCCEC407884_label_en-US" xlink:label="lab_us-gaap_GrossProfit_8D1567A0928E61A9C1E7ADCCEC407884" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaap_GrossProfit_8D1567A0928E61A9C1E7ADCCEC407884" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_GrossProfit_8D1567A0928E61A9C1E7ADCCEC407884" xlink:to="lab_us-gaap_GrossProfit_8D1567A0928E61A9C1E7ADCCEC407884" xlink:type="arc" />
    <link:label id="lab_us-gaap_ResearchAndDevelopmentExpense_AF7C9A3871EE5B4E8077ADCCEC401595_terseLabel_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpense_AF7C9A3871EE5B4E8077ADCCEC401595" 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_AF7C9A3871EE5B4E8077ADCCEC401595_label_en-US" xlink:label="lab_us-gaap_ResearchAndDevelopmentExpense_AF7C9A3871EE5B4E8077ADCCEC401595" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense_AF7C9A3871EE5B4E8077ADCCEC401595" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ResearchAndDevelopmentExpense_AF7C9A3871EE5B4E8077ADCCEC401595" xlink:to="lab_us-gaap_ResearchAndDevelopmentExpense_AF7C9A3871EE5B4E8077ADCCEC401595" xlink:type="arc" />
    <link:label id="lab_us-gaap_SellingGeneralAndAdministrativeExpense_1E3188EEB11F7854BA33ADCCEC40AD32_terseLabel_en-US" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpense_1E3188EEB11F7854BA33ADCCEC40AD32" 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_1E3188EEB11F7854BA33ADCCEC40AD32_label_en-US" xlink:label="lab_us-gaap_SellingGeneralAndAdministrativeExpense_1E3188EEB11F7854BA33ADCCEC40AD32" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense_1E3188EEB11F7854BA33ADCCEC40AD32" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SellingGeneralAndAdministrativeExpense_1E3188EEB11F7854BA33ADCCEC40AD32" xlink:to="lab_us-gaap_SellingGeneralAndAdministrativeExpense_1E3188EEB11F7854BA33ADCCEC40AD32" xlink:type="arc" />
    <link:label id="lab_us-gaap_OperatingIncomeLoss_3B4D7C0FB0DF3475B85BADCCEC401C0C_totalLabel_en-US" xlink:label="lab_us-gaap_OperatingIncomeLoss_3B4D7C0FB0DF3475B85BADCCEC401C0C" 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_3B4D7C0FB0DF3475B85BADCCEC401C0C_label_en-US" xlink:label="lab_us-gaap_OperatingIncomeLoss_3B4D7C0FB0DF3475B85BADCCEC401C0C" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaap_OperatingIncomeLoss_3B4D7C0FB0DF3475B85BADCCEC401C0C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OperatingIncomeLoss_3B4D7C0FB0DF3475B85BADCCEC401C0C" xlink:to="lab_us-gaap_OperatingIncomeLoss_3B4D7C0FB0DF3475B85BADCCEC401C0C" xlink:type="arc" />
    <link:label id="lab_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_1483C39923CD0311F4B5ADCCEC415CCE_terseLabel_en-US" xlink:label="lab_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_1483C39923CD0311F4B5ADCCEC415CCE" 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_1483C39923CD0311F4B5ADCCEC415CCE_label_en-US" xlink:label="lab_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_1483C39923CD0311F4B5ADCCEC415CCE" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="loc_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_1483C39923CD0311F4B5ADCCEC415CCE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_1483C39923CD0311F4B5ADCCEC415CCE" xlink:to="lab_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_1483C39923CD0311F4B5ADCCEC415CCE" xlink:type="arc" />
    <link:label id="lab_us-gaap_InvestmentIncomeNonoperating_07B02D89883D4F5206C3ADCCEC41094D_terseLabel_en-US" xlink:label="lab_us-gaap_InvestmentIncomeNonoperating_07B02D89883D4F5206C3ADCCEC41094D" 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_07B02D89883D4F5206C3ADCCEC41094D_label_en-US" xlink:label="lab_us-gaap_InvestmentIncomeNonoperating_07B02D89883D4F5206C3ADCCEC41094D" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InvestmentIncomeNonoperating" xlink:label="loc_us-gaap_InvestmentIncomeNonoperating_07B02D89883D4F5206C3ADCCEC41094D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InvestmentIncomeNonoperating_07B02D89883D4F5206C3ADCCEC41094D" xlink:to="lab_us-gaap_InvestmentIncomeNonoperating_07B02D89883D4F5206C3ADCCEC41094D" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherNonoperatingIncomeExpense_D68D01A53A90A4861FD1ADCCEC419733_terseLabel_en-US" xlink:label="lab_us-gaap_OtherNonoperatingIncomeExpense_D68D01A53A90A4861FD1ADCCEC419733" 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_D68D01A53A90A4861FD1ADCCEC419733_label_en-US" xlink:label="lab_us-gaap_OtherNonoperatingIncomeExpense_D68D01A53A90A4861FD1ADCCEC419733" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_D68D01A53A90A4861FD1ADCCEC419733" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherNonoperatingIncomeExpense_D68D01A53A90A4861FD1ADCCEC419733" xlink:to="lab_us-gaap_OtherNonoperatingIncomeExpense_D68D01A53A90A4861FD1ADCCEC419733" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_3E1B99DF80730731B782ADCCEC41009C_totalLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_3E1B99DF80730731B782ADCCEC41009C" 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_3E1B99DF80730731B782ADCCEC41009C_label_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_3E1B99DF80730731B782ADCCEC41009C" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_3E1B99DF80730731B782ADCCEC41009C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_3E1B99DF80730731B782ADCCEC41009C" xlink:to="lab_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_3E1B99DF80730731B782ADCCEC41009C" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeTaxExpenseBenefit_845A0FC082818B5304C8ADCCEC41AC8D_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit_845A0FC082818B5304C8ADCCEC41AC8D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Income tax expense (benefit)</link:label>
    <link:label id="lab_us-gaap_IncomeTaxExpenseBenefit_845A0FC082818B5304C8ADCCEC41AC8D_label_en-US" xlink:label="lab_us-gaap_IncomeTaxExpenseBenefit_845A0FC082818B5304C8ADCCEC41AC8D" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_845A0FC082818B5304C8ADCCEC41AC8D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxExpenseBenefit_845A0FC082818B5304C8ADCCEC41AC8D" xlink:to="lab_us-gaap_IncomeTaxExpenseBenefit_845A0FC082818B5304C8ADCCEC41AC8D" xlink:type="arc" />
    <link:label id="lab_us-gaap_NetIncomeLoss_4285B1324DBBCA30D0E1ADCCEC41EB0E_totalLabel_en-US" xlink:label="lab_us-gaap_NetIncomeLoss_4285B1324DBBCA30D0E1ADCCEC41EB0E" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_4285B1324DBBCA30D0E1ADCCEC41EB0E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NetIncomeLoss_4285B1324DBBCA30D0E1ADCCEC41EB0E" xlink:to="lab_us-gaap_NetIncomeLoss_4285B1324DBBCA30D0E1ADCCEC41EB0E" xlink:type="arc" />
    <link:label id="lab_us-gaap_EarningsPerShareDilutedAbstract_C6FE9085360C271B71B9ADCCEC42A8EF_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareDilutedAbstract_C6FE9085360C271B71B9ADCCEC42A8EF" 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_C6FE9085360C271B71B9ADCCEC42A8EF_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareDilutedAbstract_C6FE9085360C271B71B9ADCCEC42A8EF" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EarningsPerShareDilutedAbstract" xlink:label="loc_us-gaap_EarningsPerShareDilutedAbstract_C6FE9085360C271B71B9ADCCEC42A8EF" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareDilutedAbstract_C6FE9085360C271B71B9ADCCEC42A8EF" xlink:to="lab_us-gaap_EarningsPerShareDilutedAbstract_C6FE9085360C271B71B9ADCCEC42A8EF" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_B14AA48121244BCA760DADCCEC421CED_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_B14AA48121244BCA760DADCCEC421CED" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Basic</link:label>
    <link:label id="lab_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_B14AA48121244BCA760DADCCEC421CED_label_en-US" xlink:label="lab_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_B14AA48121244BCA760DADCCEC421CED" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_B14AA48121244BCA760DADCCEC421CED" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_B14AA48121244BCA760DADCCEC421CED" xlink:to="lab_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_B14AA48121244BCA760DADCCEC421CED" xlink:type="arc" />
    <link:label id="lab_us-gaap_EarningsPerShareDiluted_A74EBBD5921DA1A35799ADCCEC42B302_terseLabel_en-US" xlink:label="lab_us-gaap_EarningsPerShareDiluted_A74EBBD5921DA1A35799ADCCEC42B302" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Diluted</link:label>
    <link:label id="lab_us-gaap_EarningsPerShareDiluted_A74EBBD5921DA1A35799ADCCEC42B302_label_en-US" xlink:label="lab_us-gaap_EarningsPerShareDiluted_A74EBBD5921DA1A35799ADCCEC42B302" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="loc_us-gaap_EarningsPerShareDiluted_A74EBBD5921DA1A35799ADCCEC42B302" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EarningsPerShareDiluted_A74EBBD5921DA1A35799ADCCEC42B302" xlink:to="lab_us-gaap_EarningsPerShareDiluted_A74EBBD5921DA1A35799ADCCEC42B302" xlink:type="arc" />
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_CF4199B9EF89DA04A5C7ADCCEC425F6E_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_CF4199B9EF89DA04A5C7ADCCEC425F6E" 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_CF4199B9EF89DA04A5C7ADCCEC425F6E_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_CF4199B9EF89DA04A5C7ADCCEC425F6E" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_CF4199B9EF89DA04A5C7ADCCEC425F6E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_CF4199B9EF89DA04A5C7ADCCEC425F6E" xlink:to="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_CF4199B9EF89DA04A5C7ADCCEC425F6E" xlink:type="arc" />
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_FC16598426C4C4907164ADCCEC425B7F_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_FC16598426C4C4907164ADCCEC425B7F" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Basic</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_FC16598426C4C4907164ADCCEC425B7F_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_FC16598426C4C4907164ADCCEC425B7F" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_FC16598426C4C4907164ADCCEC425B7F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_FC16598426C4C4907164ADCCEC425B7F" xlink:to="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_FC16598426C4C4907164ADCCEC425B7F" xlink:type="arc" />
    <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_3F6D64E3A5456E92DD69ADCCEC434A67_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_3F6D64E3A5456E92DD69ADCCEC434A67" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Diluted</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_3F6D64E3A5456E92DD69ADCCEC434A67_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_3F6D64E3A5456E92DD69ADCCEC434A67" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_3F6D64E3A5456E92DD69ADCCEC434A67" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_3F6D64E3A5456E92DD69ADCCEC434A67" xlink:to="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_3F6D64E3A5456E92DD69ADCCEC434A67" xlink:type="arc" />
    <link:label id="lab_us-gaap_CommonStockDividendsPerShareCashPaid_2B0DB33D387EB8AF1BA8ADCCEC435E5D_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockDividendsPerShareCashPaid_2B0DB33D387EB8AF1BA8ADCCEC435E5D" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cash dividends per common share</link:label>
    <link:label id="lab_us-gaap_CommonStockDividendsPerShareCashPaid_2B0DB33D387EB8AF1BA8ADCCEC435E5D_label_en-US" xlink:label="lab_us-gaap_CommonStockDividendsPerShareCashPaid_2B0DB33D387EB8AF1BA8ADCCEC435E5D" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CommonStockDividendsPerShareCashPaid" xlink:label="loc_us-gaap_CommonStockDividendsPerShareCashPaid_2B0DB33D387EB8AF1BA8ADCCEC435E5D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockDividendsPerShareCashPaid_2B0DB33D387EB8AF1BA8ADCCEC435E5D" xlink:to="lab_us-gaap_CommonStockDividendsPerShareCashPaid_2B0DB33D387EB8AF1BA8ADCCEC435E5D" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_FC3B67654476B8BC6B1D94A14EE5D399_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_FC3B67654476B8BC6B1D94A14EE5D399" 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_FC3B67654476B8BC6B1D94A14EE5D399_label_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_FC3B67654476B8BC6B1D94A14EE5D399" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_FC3B67654476B8BC6B1D94A14EE5D399" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_FC3B67654476B8BC6B1D94A14EE5D399" xlink:to="lab_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_FC3B67654476B8BC6B1D94A14EE5D399" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_5E5B3F223B6DEF07782B94A14EE518D3_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_5E5B3F223B6DEF07782B94A14EE518D3" 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_5E5B3F223B6DEF07782B94A14EE518D3_label_en-US" xlink:label="lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_5E5B3F223B6DEF07782B94A14EE518D3" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_5E5B3F223B6DEF07782B94A14EE518D3" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_5E5B3F223B6DEF07782B94A14EE518D3" xlink:to="lab_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_5E5B3F223B6DEF07782B94A14EE518D3" xlink:type="arc" />
    <link:label id="lab_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock_ED91033905F1D8C51F4794A14EE54FC0_terseLabel_en-US" xlink:label="lab_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock_ED91033905F1D8C51F4794A14EE54FC0" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Nonvested Restricted Stock Shares Activity</link:label>
    <link:label id="lab_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock_ED91033905F1D8C51F4794A14EE54FC0_label_en-US" xlink:label="lab_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock_ED91033905F1D8C51F4794A14EE54FC0" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Nonvested Restricted Stock Shares Activity [Table Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock" xlink:label="loc_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock_ED91033905F1D8C51F4794A14EE54FC0" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock_ED91033905F1D8C51F4794A14EE54FC0" xlink:to="lab_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock_ED91033905F1D8C51F4794A14EE54FC0" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_EEE71B249BD3C020222694A14EE61500_verboseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_EEE71B249BD3C020222694A14EE61500" 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_EEE71B249BD3C020222694A14EE61500_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_EEE71B249BD3C020222694A14EE61500" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_EEE71B249BD3C020222694A14EE61500" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_EEE71B249BD3C020222694A14EE61500" xlink:to="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_EEE71B249BD3C020222694A14EE61500" xlink:type="arc" />
    <link:label id="lab_us-gaap_EquityAbstract_FBD2E642C7358AAE29C094A14EE8D81C_label_en-US" xlink:label="lab_us-gaap_EquityAbstract_FBD2E642C7358AAE29C094A14EE8D81C" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaap_EquityAbstract_FBD2E642C7358AAE29C094A14EE8D81C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EquityAbstract_FBD2E642C7358AAE29C094A14EE8D81C" xlink:to="lab_us-gaap_EquityAbstract_FBD2E642C7358AAE29C094A14EE8D81C" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock_10FA0B1DAE388A37F2A494A14EE8E6EC_terseLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock_10FA0B1DAE388A37F2A494A14EE8E6EC" 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_10FA0B1DAE388A37F2A494A14EE8E6EC_label_en-US" xlink:label="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock_10FA0B1DAE388A37F2A494A14EE8E6EC" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:label="loc_us-gaap_StockholdersEquityNoteDisclosureTextBlock_10FA0B1DAE388A37F2A494A14EE8E6EC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquityNoteDisclosureTextBlock_10FA0B1DAE388A37F2A494A14EE8E6EC" xlink:to="lab_us-gaap_StockholdersEquityNoteDisclosureTextBlock_10FA0B1DAE388A37F2A494A14EE8E6EC" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_6117A8926AF211D7CD2094A1502DB49C_label_en-US" xlink:label="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_6117A8926AF211D7CD2094A1502DB49C" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_6117A8926AF211D7CD2094A1502DB49C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_6117A8926AF211D7CD2094A1502DB49C" xlink:to="lab_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_6117A8926AF211D7CD2094A1502DB49C" xlink:type="arc" />
    <link:label id="lab_us-gaap_CostOfGoodsTotalMember_F5880FAB2C7523D67D7D94A1502F7A28_terseLabel_en-US" xlink:label="lab_us-gaap_CostOfGoodsTotalMember_F5880FAB2C7523D67D7D94A1502F7A28" 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_F5880FAB2C7523D67D7D94A1502F7A28_label_en-US" xlink:label="lab_us-gaap_CostOfGoodsTotalMember_F5880FAB2C7523D67D7D94A1502F7A28" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CostOfGoodsTotalMember" xlink:label="loc_us-gaap_CostOfGoodsTotalMember_F5880FAB2C7523D67D7D94A1502F7A28" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CostOfGoodsTotalMember_F5880FAB2C7523D67D7D94A1502F7A28" xlink:to="lab_us-gaap_CostOfGoodsTotalMember_F5880FAB2C7523D67D7D94A1502F7A28" xlink:type="arc" />
    <link:label id="lab_cgnx_SellingGeneralAndAdministrativeMember_FEF514AB20A011E84DA594A1502F59D7_terseLabel_en-US" xlink:label="lab_cgnx_SellingGeneralAndAdministrativeMember_FEF514AB20A011E84DA594A1502F59D7" 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_FEF514AB20A011E84DA594A1502F59D7_label_en-US" xlink:label="lab_cgnx_SellingGeneralAndAdministrativeMember_FEF514AB20A011E84DA594A1502F59D7" 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_FEF514AB20A011E84DA594A1502F59D7_documentation_en-US" xlink:label="lab_cgnx_SellingGeneralAndAdministrativeMember_FEF514AB20A011E84DA594A1502F59D7" 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-20180701.xsd#cgnx_SellingGeneralAndAdministrativeMember" xlink:label="loc_cgnx_SellingGeneralAndAdministrativeMember_FEF514AB20A011E84DA594A1502F59D7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_SellingGeneralAndAdministrativeMember_FEF514AB20A011E84DA594A1502F59D7" xlink:to="lab_cgnx_SellingGeneralAndAdministrativeMember_FEF514AB20A011E84DA594A1502F59D7" xlink:type="arc" />
    <link:label id="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_5DEBA24C4AB8AB14A86894A1502FF989_terseLabel_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_5DEBA24C4AB8AB14A86894A1502FF989" 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_5DEBA24C4AB8AB14A86894A1502FF989_label_en-US" xlink:label="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_5DEBA24C4AB8AB14A86894A1502FF989" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_5DEBA24C4AB8AB14A86894A1502FF989" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_5DEBA24C4AB8AB14A86894A1502FF989" xlink:to="lab_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_5DEBA24C4AB8AB14A86894A1502FF989" xlink:type="arc" />
    <link:label id="lab_us-gaap_RevenueRecognitionPolicyTextBlock_E60B2FDB4FB371E7B6BAB8D41468B83B_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueRecognitionPolicyTextBlock_E60B2FDB4FB371E7B6BAB8D41468B83B" 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_RevenueRecognitionPolicyTextBlock_E60B2FDB4FB371E7B6BAB8D41468B83B_label_en-US" xlink:label="lab_us-gaap_RevenueRecognitionPolicyTextBlock_E60B2FDB4FB371E7B6BAB8D41468B83B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Revenue Recognition, Policy [Policy Text Block]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_RevenueRecognitionPolicyTextBlock" xlink:label="loc_us-gaap_RevenueRecognitionPolicyTextBlock_E60B2FDB4FB371E7B6BAB8D41468B83B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueRecognitionPolicyTextBlock_E60B2FDB4FB371E7B6BAB8D41468B83B" xlink:to="lab_us-gaap_RevenueRecognitionPolicyTextBlock_E60B2FDB4FB371E7B6BAB8D41468B83B" xlink:type="arc" />
    <link:label id="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_37FF9BF5455FF76D0464B8D4E24F92CA_terseLabel_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_37FF9BF5455FF76D0464B8D4E24F92CA" 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_37FF9BF5455FF76D0464B8D4E24F92CA_label_en-US" xlink:label="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_37FF9BF5455FF76D0464B8D4E24F92CA" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_37FF9BF5455FF76D0464B8D4E24F92CA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_37FF9BF5455FF76D0464B8D4E24F92CA" xlink:to="lab_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_37FF9BF5455FF76D0464B8D4E24F92CA" xlink:type="arc" />
    <link:label id="lab_us-gaap_SubsequentEventsTextBlock_D2598E97547E0541EA8994A14FF11770_terseLabel_en-US" xlink:label="lab_us-gaap_SubsequentEventsTextBlock_D2598E97547E0541EA8994A14FF11770" 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_D2598E97547E0541EA8994A14FF11770_label_en-US" xlink:label="lab_us-gaap_SubsequentEventsTextBlock_D2598E97547E0541EA8994A14FF11770" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="loc_us-gaap_SubsequentEventsTextBlock_D2598E97547E0541EA8994A14FF11770" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_SubsequentEventsTextBlock_D2598E97547E0541EA8994A14FF11770" xlink:to="lab_us-gaap_SubsequentEventsTextBlock_D2598E97547E0541EA8994A14FF11770" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue_D7716D8286D9D614092C94A14F595B61_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue_D7716D8286D9D614092C94A14F595B61" 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_D7716D8286D9D614092C94A14F595B61_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue_D7716D8286D9D614092C94A14F595B61" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue_D7716D8286D9D614092C94A14F595B61" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue_D7716D8286D9D614092C94A14F595B61" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue_D7716D8286D9D614092C94A14F595B61" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_9F9EA634200E924278DE94A14F597CEA_negatedLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_9F9EA634200E924278DE94A14F597CEA" 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_9F9EA634200E924278DE94A14F597CEA_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_9F9EA634200E924278DE94A14F597CEA" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_9F9EA634200E924278DE94A14F597CEA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_9F9EA634200E924278DE94A14F597CEA" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_9F9EA634200E924278DE94A14F597CEA" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue_EF2769B7B0A01EB60F0B94A14F5AA825_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue_EF2769B7B0A01EB60F0B94A14F5AA825" 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_EF2769B7B0A01EB60F0B94A14F5AA825_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue_EF2769B7B0A01EB60F0B94A14F5AA825" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue_EF2769B7B0A01EB60F0B94A14F5AA825" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue_EF2769B7B0A01EB60F0B94A14F5AA825" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue_EF2769B7B0A01EB60F0B94A14F5AA825" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_E577E676508A1620EE0594A14F5AAC23_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_E577E676508A1620EE0594A14F5AAC23" 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_E577E676508A1620EE0594A14F5AAC23_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_E577E676508A1620EE0594A14F5AAC23" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_E577E676508A1620EE0594A14F5AAC23" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_E577E676508A1620EE0594A14F5AAC23" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_E577E676508A1620EE0594A14F5AAC23" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_4718E8908DA3CF72CD5094A14F5A4BFC_totalLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_4718E8908DA3CF72CD5094A14F5A4BFC" 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_4718E8908DA3CF72CD5094A14F5A4BFC_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_4718E8908DA3CF72CD5094A14F5A4BFC" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_4718E8908DA3CF72CD5094A14F5A4BFC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_4718E8908DA3CF72CD5094A14F5A4BFC" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_4718E8908DA3CF72CD5094A14F5A4BFC" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_F81F90911729169F375D94A14F5A76C7_negatedTotalLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_F81F90911729169F375D94A14F5A76C7" xlink:role="http://www.xbrl.org/2009/role/negatedTotalLabel" xlink:type="resource" xml:lang="en-US">Total unrealized losses</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_F81F90911729169F375D94A14F5A76C7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_F81F90911729169F375D94A14F5A76C7" xlink:to="lab_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_F81F90911729169F375D94A14F5A76C7" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesGrossRealizedGains_E5C1056436F2F5CE6E4094A14FF57D17_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesGrossRealizedGains_E5C1056436F2F5CE6E4094A14FF57D17" 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_E5C1056436F2F5CE6E4094A14FF57D17_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesGrossRealizedGains_E5C1056436F2F5CE6E4094A14FF57D17" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesGrossRealizedGains" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesGrossRealizedGains_E5C1056436F2F5CE6E4094A14FF57D17" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesGrossRealizedGains_E5C1056436F2F5CE6E4094A14FF57D17" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesGrossRealizedGains_E5C1056436F2F5CE6E4094A14FF57D17" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses_063D74A09BD91881CF9794A14FF58F65_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses_063D74A09BD91881CF9794A14FF58F65" 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_063D74A09BD91881CF9794A14FF58F65_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses_063D74A09BD91881CF9794A14FF58F65" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses_063D74A09BD91881CF9794A14FF58F65" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses_063D74A09BD91881CF9794A14FF58F65" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses_063D74A09BD91881CF9794A14FF58F65" xlink:type="arc" />
    <link:label id="lab_us-gaap_AssetsAbstract_BA3004133DED37689DA1ADAE899043CC_terseLabel_en-US" xlink:label="lab_us-gaap_AssetsAbstract_BA3004133DED37689DA1ADAE899043CC" 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_BA3004133DED37689DA1ADAE899043CC_label_en-US" xlink:label="lab_us-gaap_AssetsAbstract_BA3004133DED37689DA1ADAE899043CC" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AssetsAbstract" xlink:label="loc_us-gaap_AssetsAbstract_BA3004133DED37689DA1ADAE899043CC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsAbstract_BA3004133DED37689DA1ADAE899043CC" xlink:to="lab_us-gaap_AssetsAbstract_BA3004133DED37689DA1ADAE899043CC" xlink:type="arc" />
    <link:label id="lab_us-gaap_AssetsCurrentAbstract_0E9BDA97B3B4125FA696ADAE8990160C_terseLabel_en-US" xlink:label="lab_us-gaap_AssetsCurrentAbstract_0E9BDA97B3B4125FA696ADAE8990160C" 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_0E9BDA97B3B4125FA696ADAE8990160C_label_en-US" xlink:label="lab_us-gaap_AssetsCurrentAbstract_0E9BDA97B3B4125FA696ADAE8990160C" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="loc_us-gaap_AssetsCurrentAbstract_0E9BDA97B3B4125FA696ADAE8990160C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsCurrentAbstract_0E9BDA97B3B4125FA696ADAE8990160C" xlink:to="lab_us-gaap_AssetsCurrentAbstract_0E9BDA97B3B4125FA696ADAE8990160C" xlink:type="arc" />
    <link:label id="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_077021D6670E09A0CC8DADAE89912630_terseLabel_en-US" xlink:label="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_077021D6670E09A0CC8DADAE89912630" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_077021D6670E09A0CC8DADAE89912630" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_077021D6670E09A0CC8DADAE89912630" xlink:to="lab_us-gaap_CashAndCashEquivalentsAtCarryingValue_077021D6670E09A0CC8DADAE89912630" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccountsReceivableNetCurrent_D4A9E93F332BC1A42AA3ADAE8991B51B_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsReceivableNetCurrent_D4A9E93F332BC1A42AA3ADAE8991B51B" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accounts receivable, less reserves of $1,501 and $1,568 in 2018 and 2017, respectively</link:label>
    <link:label id="lab_us-gaap_AccountsReceivableNetCurrent_D4A9E93F332BC1A42AA3ADAE8991B51B_label_en-US" xlink:label="lab_us-gaap_AccountsReceivableNetCurrent_D4A9E93F332BC1A42AA3ADAE8991B51B" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_D4A9E93F332BC1A42AA3ADAE8991B51B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsReceivableNetCurrent_D4A9E93F332BC1A42AA3ADAE8991B51B" xlink:to="lab_us-gaap_AccountsReceivableNetCurrent_D4A9E93F332BC1A42AA3ADAE8991B51B" xlink:type="arc" />
    <link:label id="lab_us-gaap_UnbilledReceivablesCurrent_A318295307AD58BA1ABDADAE8991D3C7_terseLabel_en-US" xlink:label="lab_us-gaap_UnbilledReceivablesCurrent_A318295307AD58BA1ABDADAE8991D3C7" 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_A318295307AD58BA1ABDADAE8991D3C7_label_en-US" xlink:label="lab_us-gaap_UnbilledReceivablesCurrent_A318295307AD58BA1ABDADAE8991D3C7" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_UnbilledReceivablesCurrent" xlink:label="loc_us-gaap_UnbilledReceivablesCurrent_A318295307AD58BA1ABDADAE8991D3C7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UnbilledReceivablesCurrent_A318295307AD58BA1ABDADAE8991D3C7" xlink:to="lab_us-gaap_UnbilledReceivablesCurrent_A318295307AD58BA1ABDADAE8991D3C7" xlink:type="arc" />
    <link:label id="lab_us-gaap_InventoryNet_47ADAC9B1EC42D503231ADAE89926956_terseLabel_en-US" xlink:label="lab_us-gaap_InventoryNet_47ADAC9B1EC42D503231ADAE89926956" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Inventories</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaap_InventoryNet_47ADAC9B1EC42D503231ADAE89926956" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_InventoryNet_47ADAC9B1EC42D503231ADAE89926956" xlink:to="lab_us-gaap_InventoryNet_47ADAC9B1EC42D503231ADAE89926956" xlink:type="arc" />
    <link:label id="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_57DBA7F0D5FDBCD7D0F2ADAE899200C9_terseLabel_en-US" xlink:label="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_57DBA7F0D5FDBCD7D0F2ADAE899200C9" 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_57DBA7F0D5FDBCD7D0F2ADAE899200C9_label_en-US" xlink:label="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_57DBA7F0D5FDBCD7D0F2ADAE899200C9" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_57DBA7F0D5FDBCD7D0F2ADAE899200C9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_57DBA7F0D5FDBCD7D0F2ADAE899200C9" xlink:to="lab_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_57DBA7F0D5FDBCD7D0F2ADAE899200C9" xlink:type="arc" />
    <link:label id="lab_us-gaap_AssetsCurrent_18E451200A1E9D976E0EADAE8992A9FB_totalLabel_en-US" xlink:label="lab_us-gaap_AssetsCurrent_18E451200A1E9D976E0EADAE8992A9FB" 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_18E451200A1E9D976E0EADAE8992A9FB_label_en-US" xlink:label="lab_us-gaap_AssetsCurrent_18E451200A1E9D976E0EADAE8992A9FB" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AssetsCurrent" xlink:label="loc_us-gaap_AssetsCurrent_18E451200A1E9D976E0EADAE8992A9FB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AssetsCurrent_18E451200A1E9D976E0EADAE8992A9FB" xlink:to="lab_us-gaap_AssetsCurrent_18E451200A1E9D976E0EADAE8992A9FB" xlink:type="arc" />
    <link:label id="lab_us-gaap_PropertyPlantAndEquipmentNet_D873293B80384214FC1CADAE8992A672_terseLabel_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentNet_D873293B80384214FC1CADAE8992A672" 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_D873293B80384214FC1CADAE8992A672_label_en-US" xlink:label="lab_us-gaap_PropertyPlantAndEquipmentNet_D873293B80384214FC1CADAE8992A672" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_D873293B80384214FC1CADAE8992A672" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_PropertyPlantAndEquipmentNet_D873293B80384214FC1CADAE8992A672" xlink:to="lab_us-gaap_PropertyPlantAndEquipmentNet_D873293B80384214FC1CADAE8992A672" xlink:type="arc" />
    <link:label id="lab_us-gaap_Goodwill_3DCE317B1AF5A0C5443CADAE89927CEA_terseLabel_en-US" xlink:label="lab_us-gaap_Goodwill_3DCE317B1AF5A0C5443CADAE89927CEA" 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_3DCE317B1AF5A0C5443CADAE89927CEA_label_en-US" xlink:label="lab_us-gaap_Goodwill_3DCE317B1AF5A0C5443CADAE89927CEA" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaap_Goodwill_3DCE317B1AF5A0C5443CADAE89927CEA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Goodwill_3DCE317B1AF5A0C5443CADAE89927CEA" xlink:to="lab_us-gaap_Goodwill_3DCE317B1AF5A0C5443CADAE89927CEA" xlink:type="arc" />
    <link:label id="lab_us-gaap_FiniteLivedIntangibleAssetsNet_3BD7043132583A25E629ADAE89920F57_terseLabel_en-US" xlink:label="lab_us-gaap_FiniteLivedIntangibleAssetsNet_3BD7043132583A25E629ADAE89920F57" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Intangible assets, net</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_3BD7043132583A25E629ADAE89920F57" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_FiniteLivedIntangibleAssetsNet_3BD7043132583A25E629ADAE89920F57" xlink:to="lab_us-gaap_FiniteLivedIntangibleAssetsNet_3BD7043132583A25E629ADAE89920F57" xlink:type="arc" />
    <link:label id="lab_us-gaap_DeferredTaxAssetsNetNoncurrent_6F0B69213801CD775EEEADAE89932FEC_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsNetNoncurrent_6F0B69213801CD775EEEADAE89932FEC" 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_6F0B69213801CD775EEEADAE89932FEC_label_en-US" xlink:label="lab_us-gaap_DeferredTaxAssetsNetNoncurrent_6F0B69213801CD775EEEADAE89932FEC" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DeferredTaxAssetsNetNoncurrent" xlink:label="loc_us-gaap_DeferredTaxAssetsNetNoncurrent_6F0B69213801CD775EEEADAE89932FEC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredTaxAssetsNetNoncurrent_6F0B69213801CD775EEEADAE89932FEC" xlink:to="lab_us-gaap_DeferredTaxAssetsNetNoncurrent_6F0B69213801CD775EEEADAE89932FEC" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherAssetsNoncurrent_5BC14CEEBD095099E233ADAE89933E3D_terseLabel_en-US" xlink:label="lab_us-gaap_OtherAssetsNoncurrent_5BC14CEEBD095099E233ADAE89933E3D" 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_5BC14CEEBD095099E233ADAE89933E3D_label_en-US" xlink:label="lab_us-gaap_OtherAssetsNoncurrent_5BC14CEEBD095099E233ADAE89933E3D" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_5BC14CEEBD095099E233ADAE89933E3D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherAssetsNoncurrent_5BC14CEEBD095099E233ADAE89933E3D" xlink:to="lab_us-gaap_OtherAssetsNoncurrent_5BC14CEEBD095099E233ADAE89933E3D" xlink:type="arc" />
    <link:label id="lab_us-gaap_Assets_29D272E9EF84F388CB16ADAE8993ABF9_totalLabel_en-US" xlink:label="lab_us-gaap_Assets_29D272E9EF84F388CB16ADAE8993ABF9" 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_29D272E9EF84F388CB16ADAE8993ABF9_label_en-US" xlink:label="lab_us-gaap_Assets_29D272E9EF84F388CB16ADAE8993ABF9" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_Assets" xlink:label="loc_us-gaap_Assets_29D272E9EF84F388CB16ADAE8993ABF9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Assets_29D272E9EF84F388CB16ADAE8993ABF9" xlink:to="lab_us-gaap_Assets_29D272E9EF84F388CB16ADAE8993ABF9" xlink:type="arc" />
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract_6BD7E62EA0BA1F8B52D3ADAE89934AA7_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract_6BD7E62EA0BA1F8B52D3ADAE89934AA7" 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_6BD7E62EA0BA1F8B52D3ADAE89934AA7_label_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract_6BD7E62EA0BA1F8B52D3ADAE89934AA7" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_6BD7E62EA0BA1F8B52D3ADAE89934AA7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_6BD7E62EA0BA1F8B52D3ADAE89934AA7" xlink:to="lab_us-gaap_LiabilitiesAndStockholdersEquityAbstract_6BD7E62EA0BA1F8B52D3ADAE89934AA7" xlink:type="arc" />
    <link:label id="lab_us-gaap_LiabilitiesCurrentAbstract_AB8395BE68C075A4A836ADAE899382F0_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrentAbstract_AB8395BE68C075A4A836ADAE899382F0" 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_AB8395BE68C075A4A836ADAE899382F0_label_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrentAbstract_AB8395BE68C075A4A836ADAE899382F0" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="loc_us-gaap_LiabilitiesCurrentAbstract_AB8395BE68C075A4A836ADAE899382F0" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesCurrentAbstract_AB8395BE68C075A4A836ADAE899382F0" xlink:to="lab_us-gaap_LiabilitiesCurrentAbstract_AB8395BE68C075A4A836ADAE899382F0" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccountsPayableCurrent_03B01DE161EC6E738425ADAE8993135A_terseLabel_en-US" xlink:label="lab_us-gaap_AccountsPayableCurrent_03B01DE161EC6E738425ADAE8993135A" 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_03B01DE161EC6E738425ADAE8993135A_label_en-US" xlink:label="lab_us-gaap_AccountsPayableCurrent_03B01DE161EC6E738425ADAE8993135A" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccountsPayableCurrent" xlink:label="loc_us-gaap_AccountsPayableCurrent_03B01DE161EC6E738425ADAE8993135A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountsPayableCurrent_03B01DE161EC6E738425ADAE8993135A" xlink:to="lab_us-gaap_AccountsPayableCurrent_03B01DE161EC6E738425ADAE8993135A" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccruedLiabilitiesCurrent_90DF76130405B7D1C9B2ADAE89947567_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedLiabilitiesCurrent_90DF76130405B7D1C9B2ADAE89947567" 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_90DF76130405B7D1C9B2ADAE89947567_label_en-US" xlink:label="lab_us-gaap_AccruedLiabilitiesCurrent_90DF76130405B7D1C9B2ADAE89947567" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_90DF76130405B7D1C9B2ADAE89947567" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedLiabilitiesCurrent_90DF76130405B7D1C9B2ADAE89947567" xlink:to="lab_us-gaap_AccruedLiabilitiesCurrent_90DF76130405B7D1C9B2ADAE89947567" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccruedIncomeTaxesCurrent_DCCE5A57F0A67DA655C2ADAE89949761_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedIncomeTaxesCurrent_DCCE5A57F0A67DA655C2ADAE89949761" 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_DCCE5A57F0A67DA655C2ADAE89949761_label_en-US" xlink:label="lab_us-gaap_AccruedIncomeTaxesCurrent_DCCE5A57F0A67DA655C2ADAE89949761" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccruedIncomeTaxesCurrent" xlink:label="loc_us-gaap_AccruedIncomeTaxesCurrent_DCCE5A57F0A67DA655C2ADAE89949761" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedIncomeTaxesCurrent_DCCE5A57F0A67DA655C2ADAE89949761" xlink:to="lab_us-gaap_AccruedIncomeTaxesCurrent_DCCE5A57F0A67DA655C2ADAE89949761" xlink:type="arc" />
    <link:label id="lab_us-gaap_DeferredRevenueAndCreditsCurrent_2AA0E3A8C2DF6EB368F5ADAE8994D467_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredRevenueAndCreditsCurrent_2AA0E3A8C2DF6EB368F5ADAE8994D467" 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_2AA0E3A8C2DF6EB368F5ADAE8994D467_label_en-US" xlink:label="lab_us-gaap_DeferredRevenueAndCreditsCurrent_2AA0E3A8C2DF6EB368F5ADAE8994D467" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DeferredRevenueAndCreditsCurrent" xlink:label="loc_us-gaap_DeferredRevenueAndCreditsCurrent_2AA0E3A8C2DF6EB368F5ADAE8994D467" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredRevenueAndCreditsCurrent_2AA0E3A8C2DF6EB368F5ADAE8994D467" xlink:to="lab_us-gaap_DeferredRevenueAndCreditsCurrent_2AA0E3A8C2DF6EB368F5ADAE8994D467" xlink:type="arc" />
    <link:label id="lab_us-gaap_LiabilitiesCurrent_982A7EC9390614C85550ADAE8994EE95_totalLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrent_982A7EC9390614C85550ADAE8994EE95" 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_982A7EC9390614C85550ADAE8994EE95_label_en-US" xlink:label="lab_us-gaap_LiabilitiesCurrent_982A7EC9390614C85550ADAE8994EE95" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaap_LiabilitiesCurrent_982A7EC9390614C85550ADAE8994EE95" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesCurrent_982A7EC9390614C85550ADAE8994EE95" xlink:to="lab_us-gaap_LiabilitiesCurrent_982A7EC9390614C85550ADAE8994EE95" xlink:type="arc" />
    <link:label id="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet_19EAD80712DA9CADCE61ADAE899496E2_terseLabel_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet_19EAD80712DA9CADCE61ADAE899496E2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Deferred Income Tax Liabilities, Net</link:label>
    <link:label id="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet_19EAD80712DA9CADCE61ADAE899496E2_label_en-US" xlink:label="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet_19EAD80712DA9CADCE61ADAE899496E2" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_19EAD80712DA9CADCE61ADAE899496E2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_19EAD80712DA9CADCE61ADAE899496E2" xlink:to="lab_us-gaap_DeferredIncomeTaxLiabilitiesNet_19EAD80712DA9CADCE61ADAE899496E2" xlink:type="arc" />
    <link:label id="lab_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_FD66455A9E0FC9B160F8ADAE89945379_terseLabel_en-US" xlink:label="lab_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_FD66455A9E0FC9B160F8ADAE89945379" 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_FD66455A9E0FC9B160F8ADAE89945379_label_en-US" xlink:label="lab_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_FD66455A9E0FC9B160F8ADAE89945379" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:label="loc_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_FD66455A9E0FC9B160F8ADAE89945379" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_FD66455A9E0FC9B160F8ADAE89945379" xlink:to="lab_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_FD66455A9E0FC9B160F8ADAE89945379" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccruedIncomeTaxes_3518A36EE92DAC910F25ADAE8995A00B_terseLabel_en-US" xlink:label="lab_us-gaap_AccruedIncomeTaxes_3518A36EE92DAC910F25ADAE8995A00B" 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_AccruedIncomeTaxes_3518A36EE92DAC910F25ADAE8995A00B_label_en-US" xlink:label="lab_us-gaap_AccruedIncomeTaxes_3518A36EE92DAC910F25ADAE8995A00B" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccruedIncomeTaxes" xlink:label="loc_us-gaap_AccruedIncomeTaxes_3518A36EE92DAC910F25ADAE8995A00B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccruedIncomeTaxes_3518A36EE92DAC910F25ADAE8995A00B" xlink:to="lab_us-gaap_AccruedIncomeTaxes_3518A36EE92DAC910F25ADAE8995A00B" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherLiabilitiesNoncurrent_BED5C7703ED94B59944EADAE899570F5_terseLabel_en-US" xlink:label="lab_us-gaap_OtherLiabilitiesNoncurrent_BED5C7703ED94B59944EADAE899570F5" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Other non-current liabilities</link:label>
    <link:label id="lab_us-gaap_OtherLiabilitiesNoncurrent_BED5C7703ED94B59944EADAE899570F5_label_en-US" xlink:label="lab_us-gaap_OtherLiabilitiesNoncurrent_BED5C7703ED94B59944EADAE899570F5" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="loc_us-gaap_OtherLiabilitiesNoncurrent_BED5C7703ED94B59944EADAE899570F5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherLiabilitiesNoncurrent_BED5C7703ED94B59944EADAE899570F5" xlink:to="lab_us-gaap_OtherLiabilitiesNoncurrent_BED5C7703ED94B59944EADAE899570F5" xlink:type="arc" />
    <link:label id="lab_us-gaap_Liabilities_24DFFE5B179FDAA7954FADAE89958256_totalLabel_en-US" xlink:label="lab_us-gaap_Liabilities_24DFFE5B179FDAA7954FADAE89958256" 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_24DFFE5B179FDAA7954FADAE89958256_label_en-US" xlink:label="lab_us-gaap_Liabilities_24DFFE5B179FDAA7954FADAE89958256" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_Liabilities" xlink:label="loc_us-gaap_Liabilities_24DFFE5B179FDAA7954FADAE89958256" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_Liabilities_24DFFE5B179FDAA7954FADAE89958256" xlink:to="lab_us-gaap_Liabilities_24DFFE5B179FDAA7954FADAE89958256" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockholdersEquityAbstract_2AE34060CFBB42F5987AADAE8995EE93_terseLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquityAbstract_2AE34060CFBB42F5987AADAE8995EE93" 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_2AE34060CFBB42F5987AADAE8995EE93_label_en-US" xlink:label="lab_us-gaap_StockholdersEquityAbstract_2AE34060CFBB42F5987AADAE8995EE93" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="loc_us-gaap_StockholdersEquityAbstract_2AE34060CFBB42F5987AADAE8995EE93" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquityAbstract_2AE34060CFBB42F5987AADAE8995EE93" xlink:to="lab_us-gaap_StockholdersEquityAbstract_2AE34060CFBB42F5987AADAE8995EE93" xlink:type="arc" />
    <link:label id="lab_us-gaap_CommonStockValueOutstanding_B979C224EF990D79A06DADAE8995AB11_terseLabel_en-US" xlink:label="lab_us-gaap_CommonStockValueOutstanding_B979C224EF990D79A06DADAE8995AB11" 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 and 200,000 shares in 2018 and 2017, respectively, issued and outstanding: 172,032 and 173,507 shares in 2018 and 2017, respectively</link:label>
    <link:label id="lab_us-gaap_CommonStockValueOutstanding_B979C224EF990D79A06DADAE8995AB11_label_en-US" xlink:label="lab_us-gaap_CommonStockValueOutstanding_B979C224EF990D79A06DADAE8995AB11" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CommonStockValueOutstanding" xlink:label="loc_us-gaap_CommonStockValueOutstanding_B979C224EF990D79A06DADAE8995AB11" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CommonStockValueOutstanding_B979C224EF990D79A06DADAE8995AB11" xlink:to="lab_us-gaap_CommonStockValueOutstanding_B979C224EF990D79A06DADAE8995AB11" xlink:type="arc" />
    <link:label id="lab_us-gaap_AdditionalPaidInCapitalCommonStock_322516DA8A64FBB3D5D2ADAE899666CD_terseLabel_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalCommonStock_322516DA8A64FBB3D5D2ADAE899666CD" 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_322516DA8A64FBB3D5D2ADAE899666CD_label_en-US" xlink:label="lab_us-gaap_AdditionalPaidInCapitalCommonStock_322516DA8A64FBB3D5D2ADAE899666CD" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="loc_us-gaap_AdditionalPaidInCapitalCommonStock_322516DA8A64FBB3D5D2ADAE899666CD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdditionalPaidInCapitalCommonStock_322516DA8A64FBB3D5D2ADAE899666CD" xlink:to="lab_us-gaap_AdditionalPaidInCapitalCommonStock_322516DA8A64FBB3D5D2ADAE899666CD" xlink:type="arc" />
    <link:label id="lab_us-gaap_RetainedEarningsAccumulatedDeficit_B32500FF2E3331CFDFBDADAE89965DBE_terseLabel_en-US" xlink:label="lab_us-gaap_RetainedEarningsAccumulatedDeficit_B32500FF2E3331CFDFBDADAE89965DBE" 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_B32500FF2E3331CFDFBDADAE89965DBE_label_en-US" xlink:label="lab_us-gaap_RetainedEarningsAccumulatedDeficit_B32500FF2E3331CFDFBDADAE89965DBE" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_B32500FF2E3331CFDFBDADAE89965DBE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RetainedEarningsAccumulatedDeficit_B32500FF2E3331CFDFBDADAE89965DBE" xlink:to="lab_us-gaap_RetainedEarningsAccumulatedDeficit_B32500FF2E3331CFDFBDADAE89965DBE" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_76E9EAD80942CA8C04F1ADAE8996AE3B_terseLabel_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_76E9EAD80942CA8C04F1ADAE8996AE3B" 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_76E9EAD80942CA8C04F1ADAE8996AE3B_label_en-US" xlink:label="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_76E9EAD80942CA8C04F1ADAE8996AE3B" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_76E9EAD80942CA8C04F1ADAE8996AE3B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_76E9EAD80942CA8C04F1ADAE8996AE3B" xlink:to="lab_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_76E9EAD80942CA8C04F1ADAE8996AE3B" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockholdersEquity_789047C3BA5BC2FFCD0CADAE89962E1C_totalLabel_en-US" xlink:label="lab_us-gaap_StockholdersEquity_789047C3BA5BC2FFCD0CADAE89962E1C" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Total shareholders&#8217; equity</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaap_StockholdersEquity_789047C3BA5BC2FFCD0CADAE89962E1C" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockholdersEquity_789047C3BA5BC2FFCD0CADAE89962E1C" xlink:to="lab_us-gaap_StockholdersEquity_789047C3BA5BC2FFCD0CADAE89962E1C" xlink:type="arc" />
    <link:label id="lab_us-gaap_LiabilitiesAndStockholdersEquity_7F5FBBBFF94EE7579A9FADAE89968EAB_totalLabel_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquity_7F5FBBBFF94EE7579A9FADAE89968EAB" 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_7F5FBBBFF94EE7579A9FADAE89968EAB_label_en-US" xlink:label="lab_us-gaap_LiabilitiesAndStockholdersEquity_7F5FBBBFF94EE7579A9FADAE89968EAB" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity_7F5FBBBFF94EE7579A9FADAE89968EAB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilitiesAndStockholdersEquity_7F5FBBBFF94EE7579A9FADAE89968EAB" xlink:to="lab_us-gaap_LiabilitiesAndStockholdersEquity_7F5FBBBFF94EE7579A9FADAE89968EAB" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_DC44BE2FDF7E6D4B3E1C94A15080E1A7_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_DC44BE2FDF7E6D4B3E1C94A15080E1A7" 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_DC44BE2FDF7E6D4B3E1C94A15080E1A7_label_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_DC44BE2FDF7E6D4B3E1C94A15080E1A7" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_DC44BE2FDF7E6D4B3E1C94A15080E1A7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_DC44BE2FDF7E6D4B3E1C94A15080E1A7" xlink:to="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_DC44BE2FDF7E6D4B3E1C94A15080E1A7" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_C1310D3C91DF421D1B9D94A15082BF93_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_C1310D3C91DF421D1B9D94A15082BF93" 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_C1310D3C91DF421D1B9D94A15082BF93_label_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_C1310D3C91DF421D1B9D94A15082BF93" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_C1310D3C91DF421D1B9D94A15082BF93" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_C1310D3C91DF421D1B9D94A15082BF93" xlink:to="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_C1310D3C91DF421D1B9D94A15082BF93" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeNumberOfInstrumentsHeld_66622E721DF616A42FE794A15082AAF7_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeNumberOfInstrumentsHeld_66622E721DF616A42FE794A15082AAF7" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Derivative, Number of Instruments Held</link:label>
    <link:label id="lab_us-gaap_DerivativeNumberOfInstrumentsHeld_66622E721DF616A42FE794A15082AAF7_label_en-US" xlink:label="lab_us-gaap_DerivativeNumberOfInstrumentsHeld_66622E721DF616A42FE794A15082AAF7" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Derivative, Number of Instruments Held</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeNumberOfInstrumentsHeld" xlink:label="loc_us-gaap_DerivativeNumberOfInstrumentsHeld_66622E721DF616A42FE794A15082AAF7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeNumberOfInstrumentsHeld_66622E721DF616A42FE794A15082AAF7" xlink:to="lab_us-gaap_DerivativeNumberOfInstrumentsHeld_66622E721DF616A42FE794A15082AAF7" xlink:type="arc" />
    <link:label id="lab_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1_0FF7DDC646EE15F780D994A15082E22A_terseLabel_en-US" xlink:label="lab_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1_0FF7DDC646EE15F780D994A15082E22A" 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_0FF7DDC646EE15F780D994A15082E22A_label_en-US" xlink:label="lab_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1_0FF7DDC646EE15F780D994A15082E22A" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1" xlink:label="loc_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1_0FF7DDC646EE15F780D994A15082E22A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1_0FF7DDC646EE15F780D994A15082E22A" xlink:to="lab_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1_0FF7DDC646EE15F780D994A15082E22A" xlink:type="arc" />
    <link:label id="lab_us-gaap_MaximumLengthOfTimeHedgedInCashFlowHedge1_D661A1C4EE2543382CA294A150832926_terseLabel_en-US" xlink:label="lab_us-gaap_MaximumLengthOfTimeHedgedInCashFlowHedge1_D661A1C4EE2543382CA294A150832926" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Maximum length of time hedged in cash flow hedge</link:label>
    <link:label id="lab_us-gaap_MaximumLengthOfTimeHedgedInCashFlowHedge1_D661A1C4EE2543382CA294A150832926_label_en-US" xlink:label="lab_us-gaap_MaximumLengthOfTimeHedgedInCashFlowHedge1_D661A1C4EE2543382CA294A150832926" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Maximum Length of Time Hedged in Cash Flow Hedge</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MaximumLengthOfTimeHedgedInCashFlowHedge1" xlink:label="loc_us-gaap_MaximumLengthOfTimeHedgedInCashFlowHedge1_D661A1C4EE2543382CA294A150832926" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MaximumLengthOfTimeHedgedInCashFlowHedge1_D661A1C4EE2543382CA294A150832926" xlink:to="lab_us-gaap_MaximumLengthOfTimeHedgedInCashFlowHedge1_D661A1C4EE2543382CA294A150832926" xlink:type="arc" />
    <link:label id="lab_us-gaap_ClassOfTreasuryStockTable_192E49EE6A82973C7FB6AEE587B67943_terseLabel_en-US" xlink:label="lab_us-gaap_ClassOfTreasuryStockTable_192E49EE6A82973C7FB6AEE587B67943" 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_192E49EE6A82973C7FB6AEE587B67943_label_en-US" xlink:label="lab_us-gaap_ClassOfTreasuryStockTable_192E49EE6A82973C7FB6AEE587B67943" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ClassOfTreasuryStockTable" xlink:label="loc_us-gaap_ClassOfTreasuryStockTable_192E49EE6A82973C7FB6AEE587B67943" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ClassOfTreasuryStockTable_192E49EE6A82973C7FB6AEE587B67943" xlink:to="lab_us-gaap_ClassOfTreasuryStockTable_192E49EE6A82973C7FB6AEE587B67943" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareRepurchaseProgramAxis_717D5F791E0AD8B0F417AEE587B8E2E9_terseLabel_en-US" xlink:label="lab_us-gaap_ShareRepurchaseProgramAxis_717D5F791E0AD8B0F417AEE587B8E2E9" 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_717D5F791E0AD8B0F417AEE587B8E2E9_label_en-US" xlink:label="lab_us-gaap_ShareRepurchaseProgramAxis_717D5F791E0AD8B0F417AEE587B8E2E9" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareRepurchaseProgramAxis" xlink:label="loc_us-gaap_ShareRepurchaseProgramAxis_717D5F791E0AD8B0F417AEE587B8E2E9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareRepurchaseProgramAxis_717D5F791E0AD8B0F417AEE587B8E2E9" xlink:to="lab_us-gaap_ShareRepurchaseProgramAxis_717D5F791E0AD8B0F417AEE587B8E2E9" xlink:type="arc" />
    <link:label id="lab_us-gaap_ShareRepurchaseProgramDomain_1F84CEB00A3305715554AEE587B8954B_terseLabel_en-US" xlink:label="lab_us-gaap_ShareRepurchaseProgramDomain_1F84CEB00A3305715554AEE587B8954B" 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_1F84CEB00A3305715554AEE587B8954B_label_en-US" xlink:label="lab_us-gaap_ShareRepurchaseProgramDomain_1F84CEB00A3305715554AEE587B8954B" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareRepurchaseProgramDomain" xlink:label="loc_us-gaap_ShareRepurchaseProgramDomain_1F84CEB00A3305715554AEE587B8954B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ShareRepurchaseProgramDomain_1F84CEB00A3305715554AEE587B8954B" xlink:to="lab_us-gaap_ShareRepurchaseProgramDomain_1F84CEB00A3305715554AEE587B8954B" xlink:type="arc" />
    <link:label id="lab_cgnx_RepurchaseProgramApril2017Member_A841CCD45B4889D1B149AEE587B99DEB_terseLabel_en-US" xlink:label="lab_cgnx_RepurchaseProgramApril2017Member_A841CCD45B4889D1B149AEE587B99DEB" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Repurchase Program April 2017 [Member]</link:label>
    <link:label id="lab_cgnx_RepurchaseProgramApril2017Member_A841CCD45B4889D1B149AEE587B99DEB_label_en-US" xlink:label="lab_cgnx_RepurchaseProgramApril2017Member_A841CCD45B4889D1B149AEE587B99DEB" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Repurchase Program April 2017 [Member]</link:label>
    <link:label id="lab_cgnx_RepurchaseProgramApril2017Member_A841CCD45B4889D1B149AEE587B99DEB_documentation_en-US" xlink:label="lab_cgnx_RepurchaseProgramApril2017Member_A841CCD45B4889D1B149AEE587B99DEB" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Repurchase Program April 2017 [Member]</link:label>
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_RepurchaseProgramApril2017Member" xlink:label="loc_cgnx_RepurchaseProgramApril2017Member_A841CCD45B4889D1B149AEE587B99DEB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_RepurchaseProgramApril2017Member_A841CCD45B4889D1B149AEE587B99DEB" xlink:to="lab_cgnx_RepurchaseProgramApril2017Member_A841CCD45B4889D1B149AEE587B99DEB" xlink:type="arc" />
    <link:label id="lab_cgnx_RepurchaseProgramFebruary2018Member_8BD115F9AFFAEF47D67AAEE587B9103A_terseLabel_en-US" xlink:label="lab_cgnx_RepurchaseProgramFebruary2018Member_8BD115F9AFFAEF47D67AAEE587B9103A" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Repurchase Program February 2018 [Member]</link:label>
    <link:label id="lab_cgnx_RepurchaseProgramFebruary2018Member_8BD115F9AFFAEF47D67AAEE587B9103A_label_en-US" xlink:label="lab_cgnx_RepurchaseProgramFebruary2018Member_8BD115F9AFFAEF47D67AAEE587B9103A" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Repurchase Program February 2018 [Member]</link:label>
    <link:label id="lab_cgnx_RepurchaseProgramFebruary2018Member_8BD115F9AFFAEF47D67AAEE587B9103A_documentation_en-US" xlink:label="lab_cgnx_RepurchaseProgramFebruary2018Member_8BD115F9AFFAEF47D67AAEE587B9103A" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Repurchase Program February 2018 [Member]</link:label>
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_RepurchaseProgramFebruary2018Member" xlink:label="loc_cgnx_RepurchaseProgramFebruary2018Member_8BD115F9AFFAEF47D67AAEE587B9103A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_RepurchaseProgramFebruary2018Member_8BD115F9AFFAEF47D67AAEE587B9103A" xlink:to="lab_cgnx_RepurchaseProgramFebruary2018Member_8BD115F9AFFAEF47D67AAEE587B9103A" xlink:type="arc" />
    <link:label id="lab_cgnx_RepurchaseProgramApril2017andFebruary2018Member_D4F43D790DEBBF570F66AEE587BA9CBC_terseLabel_en-US" xlink:label="lab_cgnx_RepurchaseProgramApril2017andFebruary2018Member_D4F43D790DEBBF570F66AEE587BA9CBC" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Repurchase Program April 2017 and February 2018 [Member]</link:label>
    <link:label id="lab_cgnx_RepurchaseProgramApril2017andFebruary2018Member_D4F43D790DEBBF570F66AEE587BA9CBC_label_en-US" xlink:label="lab_cgnx_RepurchaseProgramApril2017andFebruary2018Member_D4F43D790DEBBF570F66AEE587BA9CBC" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Repurchase Program April 2017 and February 2018 [Member]</link:label>
    <link:label id="lab_cgnx_RepurchaseProgramApril2017andFebruary2018Member_D4F43D790DEBBF570F66AEE587BA9CBC_documentation_en-US" xlink:label="lab_cgnx_RepurchaseProgramApril2017andFebruary2018Member_D4F43D790DEBBF570F66AEE587BA9CBC" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Repurchase Program April 2017 and February 2018 [Member]</link:label>
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_RepurchaseProgramApril2017andFebruary2018Member" xlink:label="loc_cgnx_RepurchaseProgramApril2017andFebruary2018Member_D4F43D790DEBBF570F66AEE587BA9CBC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_RepurchaseProgramApril2017andFebruary2018Member_D4F43D790DEBBF570F66AEE587BA9CBC" xlink:to="lab_cgnx_RepurchaseProgramApril2017andFebruary2018Member_D4F43D790DEBBF570F66AEE587BA9CBC" xlink:type="arc" />
    <link:label id="lab_us-gaap_EquityClassOfTreasuryStockLineItems_DC611471ADB6CE1FFD1EAEE587BA14C0_terseLabel_en-US" xlink:label="lab_us-gaap_EquityClassOfTreasuryStockLineItems_DC611471ADB6CE1FFD1EAEE587BA14C0" 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_DC611471ADB6CE1FFD1EAEE587BA14C0_label_en-US" xlink:label="lab_us-gaap_EquityClassOfTreasuryStockLineItems_DC611471ADB6CE1FFD1EAEE587BA14C0" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EquityClassOfTreasuryStockLineItems" xlink:label="loc_us-gaap_EquityClassOfTreasuryStockLineItems_DC611471ADB6CE1FFD1EAEE587BA14C0" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EquityClassOfTreasuryStockLineItems_DC611471ADB6CE1FFD1EAEE587BA14C0" xlink:to="lab_us-gaap_EquityClassOfTreasuryStockLineItems_DC611471ADB6CE1FFD1EAEE587BA14C0" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockRepurchaseProgramAuthorizedAmount1_373C6227CD334849F9A8AEE587BA9FCC_terseLabel_en-US" xlink:label="lab_us-gaap_StockRepurchaseProgramAuthorizedAmount1_373C6227CD334849F9A8AEE587BA9FCC" 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_373C6227CD334849F9A8AEE587BA9FCC_label_en-US" xlink:label="lab_us-gaap_StockRepurchaseProgramAuthorizedAmount1_373C6227CD334849F9A8AEE587BA9FCC" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:label="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1_373C6227CD334849F9A8AEE587BA9FCC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1_373C6227CD334849F9A8AEE587BA9FCC" xlink:to="lab_us-gaap_StockRepurchaseProgramAuthorizedAmount1_373C6227CD334849F9A8AEE587BA9FCC" xlink:type="arc" />
    <link:label id="lab_cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased_2D17CD4CA2DB20B5F3C6AEE587BAB4C1_terseLabel_en-US" xlink:label="lab_cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased_2D17CD4CA2DB20B5F3C6AEE587BAB4C1" 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_2D17CD4CA2DB20B5F3C6AEE587BAB4C1_label_en-US" xlink:label="lab_cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased_2D17CD4CA2DB20B5F3C6AEE587BAB4C1" 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_2D17CD4CA2DB20B5F3C6AEE587BAB4C1_documentation_en-US" xlink:label="lab_cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased_2D17CD4CA2DB20B5F3C6AEE587BAB4C1" 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-20180701.xsd#cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased" xlink:label="loc_cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased_2D17CD4CA2DB20B5F3C6AEE587BAB4C1" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased_2D17CD4CA2DB20B5F3C6AEE587BAB4C1" xlink:to="lab_cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased_2D17CD4CA2DB20B5F3C6AEE587BAB4C1" xlink:type="arc" />
    <link:label id="lab_cgnx_StockRepurchaseProgramValue_13CE4624D74A1EE2E2A0AEE587BA8B72_terseLabel_en-US" xlink:label="lab_cgnx_StockRepurchaseProgramValue_13CE4624D74A1EE2E2A0AEE587BA8B72" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Stock Repurchase Program, Value</link:label>
    <link:label id="lab_cgnx_StockRepurchaseProgramValue_13CE4624D74A1EE2E2A0AEE587BA8B72_label_en-US" xlink:label="lab_cgnx_StockRepurchaseProgramValue_13CE4624D74A1EE2E2A0AEE587BA8B72" 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_13CE4624D74A1EE2E2A0AEE587BA8B72_documentation_en-US" xlink:label="lab_cgnx_StockRepurchaseProgramValue_13CE4624D74A1EE2E2A0AEE587BA8B72" 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-20180701.xsd#cgnx_StockRepurchaseProgramValue" xlink:label="loc_cgnx_StockRepurchaseProgramValue_13CE4624D74A1EE2E2A0AEE587BA8B72" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_StockRepurchaseProgramValue_13CE4624D74A1EE2E2A0AEE587BA8B72" xlink:to="lab_cgnx_StockRepurchaseProgramValue_13CE4624D74A1EE2E2A0AEE587BA8B72" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockRepurchasedDuringPeriodShares_1446200E91D9F48CC9FCAEE587BB03C6_terseLabel_en-US" xlink:label="lab_us-gaap_StockRepurchasedDuringPeriodShares_1446200E91D9F48CC9FCAEE587BB03C6" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Stock Repurchased During Period, Shares</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodShares_1446200E91D9F48CC9FCAEE587BB03C6" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRepurchasedDuringPeriodShares_1446200E91D9F48CC9FCAEE587BB03C6" xlink:to="lab_us-gaap_StockRepurchasedDuringPeriodShares_1446200E91D9F48CC9FCAEE587BB03C6" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockRepurchasedDuringPeriodValue_F016FB8406FB9E1C0DE9AEE587BB5806_terseLabel_en-US" xlink:label="lab_us-gaap_StockRepurchasedDuringPeriodValue_F016FB8406FB9E1C0DE9AEE587BB5806" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodValue_F016FB8406FB9E1C0DE9AEE587BB5806" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRepurchasedDuringPeriodValue_F016FB8406FB9E1C0DE9AEE587BB5806" xlink:to="lab_us-gaap_StockRepurchasedDuringPeriodValue_F016FB8406FB9E1C0DE9AEE587BB5806" xlink:type="arc" />
    <link:label id="lab_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_71EE2082858261233D10AEE587BB37C8_terseLabel_en-US" xlink:label="lab_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_71EE2082858261233D10AEE587BB37C8" 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_71EE2082858261233D10AEE587BB37C8_label_en-US" xlink:label="lab_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_71EE2082858261233D10AEE587BB37C8" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:label="loc_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_71EE2082858261233D10AEE587BB37C8" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_71EE2082858261233D10AEE587BB37C8" xlink:to="lab_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_71EE2082858261233D10AEE587BB37C8" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeTable_F9ADDFB8E477FDFD3263B895CDFAAC03_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeTable_F9ADDFB8E477FDFD3263B895CDFAAC03" 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_F9ADDFB8E477FDFD3263B895CDFAAC03_label_en-US" xlink:label="lab_us-gaap_DerivativeTable_F9ADDFB8E477FDFD3263B895CDFAAC03" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeTable" xlink:label="loc_us-gaap_DerivativeTable_F9ADDFB8E477FDFD3263B895CDFAAC03" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeTable_F9ADDFB8E477FDFD3263B895CDFAAC03" xlink:to="lab_us-gaap_DerivativeTable_F9ADDFB8E477FDFD3263B895CDFAAC03" xlink:type="arc" />
    <link:label id="lab_us-gaap_CurrencyAxis_6D69C9DE0D2706564508B895CDFB3F29_terseLabel_en-US" xlink:label="lab_us-gaap_CurrencyAxis_6D69C9DE0D2706564508B895CDFB3F29" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Currency [Axis]</link:label>
    <link:label id="lab_us-gaap_CurrencyAxis_6D69C9DE0D2706564508B895CDFB3F29_label_en-US" xlink:label="lab_us-gaap_CurrencyAxis_6D69C9DE0D2706564508B895CDFB3F29" 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/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CurrencyAxis" xlink:label="loc_us-gaap_CurrencyAxis_6D69C9DE0D2706564508B895CDFB3F29" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CurrencyAxis_6D69C9DE0D2706564508B895CDFB3F29" xlink:to="lab_us-gaap_CurrencyAxis_6D69C9DE0D2706564508B895CDFB3F29" xlink:type="arc" />
    <link:label id="lab_currency_AllCurrenciesDomain_864C29575A1E7AD3C1EEB895CDFCCFAA_terseLabel_en-US" xlink:label="lab_currency_AllCurrenciesDomain_864C29575A1E7AD3C1EEB895CDFCCFAA" 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_864C29575A1E7AD3C1EEB895CDFCCFAA_label_en-US" xlink:label="lab_currency_AllCurrenciesDomain_864C29575A1E7AD3C1EEB895CDFCCFAA" 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_864C29575A1E7AD3C1EEB895CDFCCFAA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_currency_AllCurrenciesDomain_864C29575A1E7AD3C1EEB895CDFCCFAA" xlink:to="lab_currency_AllCurrenciesDomain_864C29575A1E7AD3C1EEB895CDFCCFAA" xlink:type="arc" />
    <link:label id="lab_currency_EUR_C02D17D3239F1D69E650B895CDFCA1AD_terseLabel_en-US" xlink:label="lab_currency_EUR_C02D17D3239F1D69E650B895CDFCA1AD" 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_C02D17D3239F1D69E650B895CDFCA1AD_label_en-US" xlink:label="lab_currency_EUR_C02D17D3239F1D69E650B895CDFCA1AD" 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_C02D17D3239F1D69E650B895CDFCA1AD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_currency_EUR_C02D17D3239F1D69E650B895CDFCA1AD" xlink:to="lab_currency_EUR_C02D17D3239F1D69E650B895CDFCA1AD" xlink:type="arc" />
    <link:label id="lab_currency_JPY_A225D1E2E1EE747D89C7B895CDFC29A5_terseLabel_en-US" xlink:label="lab_currency_JPY_A225D1E2E1EE747D89C7B895CDFC29A5" 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_A225D1E2E1EE747D89C7B895CDFC29A5_label_en-US" xlink:label="lab_currency_JPY_A225D1E2E1EE747D89C7B895CDFC29A5" 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_A225D1E2E1EE747D89C7B895CDFC29A5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_currency_JPY_A225D1E2E1EE747D89C7B895CDFC29A5" xlink:to="lab_currency_JPY_A225D1E2E1EE747D89C7B895CDFC29A5" xlink:type="arc" />
    <link:label id="lab_currency_CHF_088E4A908ED48D949AD4B895CDFCD6A5_terseLabel_en-US" xlink:label="lab_currency_CHF_088E4A908ED48D949AD4B895CDFCD6A5" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Switzerland, Francs</link:label>
    <link:label id="lab_currency_CHF_088E4A908ED48D949AD4B895CDFCD6A5_label_en-US" xlink:label="lab_currency_CHF_088E4A908ED48D949AD4B895CDFCD6A5" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Switzerland, Francs</link:label>
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_CHF" xlink:label="loc_currency_CHF_088E4A908ED48D949AD4B895CDFCD6A5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_currency_CHF_088E4A908ED48D949AD4B895CDFCD6A5" xlink:to="lab_currency_CHF_088E4A908ED48D949AD4B895CDFCD6A5" xlink:type="arc" />
    <link:label id="lab_currency_HUF_9B958F0444C83AF78E85B895CDFC74BA_terseLabel_en-US" xlink:label="lab_currency_HUF_9B958F0444C83AF78E85B895CDFC74BA" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Hungarian Forint</link:label>
    <link:label id="lab_currency_HUF_9B958F0444C83AF78E85B895CDFC74BA_label_en-US" xlink:label="lab_currency_HUF_9B958F0444C83AF78E85B895CDFC74BA" 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_9B958F0444C83AF78E85B895CDFC74BA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_currency_HUF_9B958F0444C83AF78E85B895CDFC74BA" xlink:to="lab_currency_HUF_9B958F0444C83AF78E85B895CDFC74BA" xlink:type="arc" />
    <link:label id="lab_currency_GBP_15E974AF420D44179A40B895CDFD2638_terseLabel_en-US" xlink:label="lab_currency_GBP_15E974AF420D44179A40B895CDFD2638" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">British Pound</link:label>
    <link:label id="lab_currency_GBP_15E974AF420D44179A40B895CDFD2638_label_en-US" xlink:label="lab_currency_GBP_15E974AF420D44179A40B895CDFD2638" 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_15E974AF420D44179A40B895CDFD2638" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_currency_GBP_15E974AF420D44179A40B895CDFD2638" xlink:to="lab_currency_GBP_15E974AF420D44179A40B895CDFD2638" xlink:type="arc" />
    <link:label id="lab_currency_KRW_4B9E972B799690CE8700B895CDFD0247_terseLabel_en-US" xlink:label="lab_currency_KRW_4B9E972B799690CE8700B895CDFD0247" 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_4B9E972B799690CE8700B895CDFD0247_label_en-US" xlink:label="lab_currency_KRW_4B9E972B799690CE8700B895CDFD0247" 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_4B9E972B799690CE8700B895CDFD0247" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_currency_KRW_4B9E972B799690CE8700B895CDFD0247" xlink:to="lab_currency_KRW_4B9E972B799690CE8700B895CDFD0247" xlink:type="arc" />
    <link:label id="lab_currency_TWD_58EBD68878C8C1927FAAB895CDFD2F1F_terseLabel_en-US" xlink:label="lab_currency_TWD_58EBD68878C8C1927FAAB895CDFD2F1F" 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_58EBD68878C8C1927FAAB895CDFD2F1F_label_en-US" xlink:label="lab_currency_TWD_58EBD68878C8C1927FAAB895CDFD2F1F" 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_58EBD68878C8C1927FAAB895CDFD2F1F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_currency_TWD_58EBD68878C8C1927FAAB895CDFD2F1F" xlink:to="lab_currency_TWD_58EBD68878C8C1927FAAB895CDFD2F1F" xlink:type="arc" />
    <link:label id="lab_currency_CAD_1EA3C7C4E3B2FC1490BBB895CDFDBC97_terseLabel_en-US" xlink:label="lab_currency_CAD_1EA3C7C4E3B2FC1490BBB895CDFDBC97" 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_1EA3C7C4E3B2FC1490BBB895CDFDBC97_label_en-US" xlink:label="lab_currency_CAD_1EA3C7C4E3B2FC1490BBB895CDFDBC97" 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_1EA3C7C4E3B2FC1490BBB895CDFDBC97" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_currency_CAD_1EA3C7C4E3B2FC1490BBB895CDFDBC97" xlink:to="lab_currency_CAD_1EA3C7C4E3B2FC1490BBB895CDFDBC97" xlink:type="arc" />
    <link:label id="lab_currency_SGD_A0BA21D5C9914EC01711B895CDFD58AA_terseLabel_en-US" xlink:label="lab_currency_SGD_A0BA21D5C9914EC01711B895CDFD58AA" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Singapore Dollar</link:label>
    <link:label id="lab_currency_SGD_A0BA21D5C9914EC01711B895CDFD58AA_label_en-US" xlink:label="lab_currency_SGD_A0BA21D5C9914EC01711B895CDFD58AA" 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_A0BA21D5C9914EC01711B895CDFD58AA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_currency_SGD_A0BA21D5C9914EC01711B895CDFD58AA" xlink:to="lab_currency_SGD_A0BA21D5C9914EC01711B895CDFD58AA" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeLineItems_D2A3BC1A8885B2E0D34CB895CDFDCB77_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeLineItems_D2A3BC1A8885B2E0D34CB895CDFDCB77" 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_D2A3BC1A8885B2E0D34CB895CDFDCB77_label_en-US" xlink:label="lab_us-gaap_DerivativeLineItems_D2A3BC1A8885B2E0D34CB895CDFDCB77" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeLineItems" xlink:label="loc_us-gaap_DerivativeLineItems_D2A3BC1A8885B2E0D34CB895CDFDCB77" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeLineItems_D2A3BC1A8885B2E0D34CB895CDFDCB77" xlink:to="lab_us-gaap_DerivativeLineItems_D2A3BC1A8885B2E0D34CB895CDFDCB77" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeAssetNotionalAmount_2EC031E1CEB57CEE746DB895CDFEB2EF_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeAssetNotionalAmount_2EC031E1CEB57CEE746DB895CDFEB2EF" 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_2EC031E1CEB57CEE746DB895CDFEB2EF_label_en-US" xlink:label="lab_us-gaap_DerivativeAssetNotionalAmount_2EC031E1CEB57CEE746DB895CDFEB2EF" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeAssetNotionalAmount" xlink:label="loc_us-gaap_DerivativeAssetNotionalAmount_2EC031E1CEB57CEE746DB895CDFEB2EF" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeAssetNotionalAmount_2EC031E1CEB57CEE746DB895CDFEB2EF" xlink:to="lab_us-gaap_DerivativeAssetNotionalAmount_2EC031E1CEB57CEE746DB895CDFEB2EF" xlink:type="arc" />
    <link:label id="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_8B8ADC23441CEDE36A1194A1502124D0_terseLabel_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_8B8ADC23441CEDE36A1194A1502124D0" 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_8B8ADC23441CEDE36A1194A1502124D0_label_en-US" xlink:label="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_8B8ADC23441CEDE36A1194A1502124D0" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_8B8ADC23441CEDE36A1194A1502124D0" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_8B8ADC23441CEDE36A1194A1502124D0" xlink:to="lab_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_8B8ADC23441CEDE36A1194A1502124D0" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_98893CF414A5F7088CE394A14EFAB8A6_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_98893CF414A5F7088CE394A14EFAB8A6" 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_98893CF414A5F7088CE394A14EFAB8A6_label_en-US" xlink:label="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_98893CF414A5F7088CE394A14EFAB8A6" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_98893CF414A5F7088CE394A14EFAB8A6" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_98893CF414A5F7088CE394A14EFAB8A6" xlink:to="lab_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_98893CF414A5F7088CE394A14EFAB8A6" xlink:type="arc" />
    <link:label id="lab_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_2470AC184F432DD167FFADF76A9DDEE7_terseLabel_en-US" xlink:label="lab_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_2470AC184F432DD167FFADF76A9DDEE7" 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_2470AC184F432DD167FFADF76A9DDEE7_label_en-US" xlink:label="lab_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_2470AC184F432DD167FFADF76A9DDEE7" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MovementInStandardProductWarrantyAccrualRollForward" xlink:label="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_2470AC184F432DD167FFADF76A9DDEE7" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_2470AC184F432DD167FFADF76A9DDEE7" xlink:to="lab_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_2470AC184F432DD167FFADF76A9DDEE7" xlink:type="arc" />
    <link:label id="lab_us-gaap_ProductWarrantyAccrual_7A91416B17D313149A5CADF76A9D57BC_periodStartLabel_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrual_7A91416B17D313149A5CADF76A9D57BC" 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_7A91416B17D313149A5CADF76A9D57BC_label_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrual_7A91416B17D313149A5CADF76A9D57BC" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ProductWarrantyAccrual" xlink:label="loc_us-gaap_ProductWarrantyAccrual_7A91416B17D313149A5CADF76A9D57BC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductWarrantyAccrual_7A91416B17D313149A5CADF76A9D57BC" xlink:to="lab_us-gaap_ProductWarrantyAccrual_7A91416B17D313149A5CADF76A9D57BC" xlink:type="arc" />
    <link:label id="lab_us-gaap_ProductWarrantyAccrualWarrantiesIssued_40F89C2325C9B7B5AD4DADF76A9EAD5A_verboseLabel_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrualWarrantiesIssued_40F89C2325C9B7B5AD4DADF76A9EAD5A" 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_40F89C2325C9B7B5AD4DADF76A9EAD5A_label_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrualWarrantiesIssued_40F89C2325C9B7B5AD4DADF76A9EAD5A" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ProductWarrantyAccrualWarrantiesIssued" xlink:label="loc_us-gaap_ProductWarrantyAccrualWarrantiesIssued_40F89C2325C9B7B5AD4DADF76A9EAD5A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductWarrantyAccrualWarrantiesIssued_40F89C2325C9B7B5AD4DADF76A9EAD5A" xlink:to="lab_us-gaap_ProductWarrantyAccrualWarrantiesIssued_40F89C2325C9B7B5AD4DADF76A9EAD5A" xlink:type="arc" />
    <link:label id="lab_us-gaap_ProductWarrantyAccrualPayments_BFE87C2E8CA5738E1F98ADF76A9E237A_negatedLabel_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrualPayments_BFE87C2E8CA5738E1F98ADF76A9E237A" 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_BFE87C2E8CA5738E1F98ADF76A9E237A_label_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrualPayments_BFE87C2E8CA5738E1F98ADF76A9E237A" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ProductWarrantyAccrualPayments" xlink:label="loc_us-gaap_ProductWarrantyAccrualPayments_BFE87C2E8CA5738E1F98ADF76A9E237A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductWarrantyAccrualPayments_BFE87C2E8CA5738E1F98ADF76A9E237A" xlink:to="lab_us-gaap_ProductWarrantyAccrualPayments_BFE87C2E8CA5738E1F98ADF76A9E237A" xlink:type="arc" />
    <link:label id="lab_us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss_2B035D156EBC680272C1ADF76A9E4E5B_terseLabel_en-US" xlink:label="lab_us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss_2B035D156EBC680272C1ADF76A9E4E5B" 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_us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss_2B035D156EBC680272C1ADF76A9E4E5B_label_en-US" xlink:label="lab_us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss_2B035D156EBC680272C1ADF76A9E4E5B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Standard and Extended Product Warranty Accrual, Foreign Currency Translation Gain (Loss)</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss" xlink:label="loc_us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss_2B035D156EBC680272C1ADF76A9E4E5B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss_2B035D156EBC680272C1ADF76A9E4E5B" xlink:to="lab_us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss_2B035D156EBC680272C1ADF76A9E4E5B" xlink:type="arc" />
    <link:label id="lab_us-gaap_ProductWarrantyAccrual_6ADF91E53DB73ECE5704ADF76A9E2438_periodEndLabel_en-US" xlink:label="lab_us-gaap_ProductWarrantyAccrual_6ADF91E53DB73ECE5704ADF76A9E2438" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ProductWarrantyAccrual" xlink:label="loc_us-gaap_ProductWarrantyAccrual_6ADF91E53DB73ECE5704ADF76A9E2438" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ProductWarrantyAccrual_6ADF91E53DB73ECE5704ADF76A9E2438" xlink:to="lab_us-gaap_ProductWarrantyAccrual_6ADF91E53DB73ECE5704ADF76A9E2438" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeTaxContingencyTable_316E054C219B1FCC8647B894E1127F22_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxContingencyTable_316E054C219B1FCC8647B894E1127F22" 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_316E054C219B1FCC8647B894E1127F22_label_en-US" xlink:label="lab_us-gaap_IncomeTaxContingencyTable_316E054C219B1FCC8647B894E1127F22" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxContingencyTable" xlink:label="loc_us-gaap_IncomeTaxContingencyTable_316E054C219B1FCC8647B894E1127F22" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxContingencyTable_316E054C219B1FCC8647B894E1127F22" xlink:to="lab_us-gaap_IncomeTaxContingencyTable_316E054C219B1FCC8647B894E1127F22" xlink:type="arc" />
    <link:label id="lab_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_7A6B55DEA4AA9978DAA4B894E112F4D6_terseLabel_en-US" xlink:label="lab_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_7A6B55DEA4AA9978DAA4B894E112F4D6" 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_7A6B55DEA4AA9978DAA4B894E112F4D6_label_en-US" xlink:label="lab_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_7A6B55DEA4AA9978DAA4B894E112F4D6" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_7A6B55DEA4AA9978DAA4B894E112F4D6" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_7A6B55DEA4AA9978DAA4B894E112F4D6" xlink:to="lab_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_7A6B55DEA4AA9978DAA4B894E112F4D6" xlink:type="arc" />
    <link:label id="lab_us-gaap_TypeOfAdoptionMember_BEFDDF135772C48F1FCEB894E1135ADD_terseLabel_en-US" xlink:label="lab_us-gaap_TypeOfAdoptionMember_BEFDDF135772C48F1FCEB894E1135ADD" 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_BEFDDF135772C48F1FCEB894E1135ADD_label_en-US" xlink:label="lab_us-gaap_TypeOfAdoptionMember_BEFDDF135772C48F1FCEB894E1135ADD" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="loc_us-gaap_TypeOfAdoptionMember_BEFDDF135772C48F1FCEB894E1135ADD" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_TypeOfAdoptionMember_BEFDDF135772C48F1FCEB894E1135ADD" xlink:to="lab_us-gaap_TypeOfAdoptionMember_BEFDDF135772C48F1FCEB894E1135ADD" xlink:type="arc" />
    <link:label id="lab_us-gaap_AccountingStandardsUpdate201616Member_EE1B9C36D74D06D603EBB894E11349C2_terseLabel_en-US" xlink:label="lab_us-gaap_AccountingStandardsUpdate201616Member_EE1B9C36D74D06D603EBB894E11349C2" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Accounting Standards Update 2016-16 [Member]</link:label>
    <link:label id="lab_us-gaap_AccountingStandardsUpdate201616Member_EE1B9C36D74D06D603EBB894E11349C2_label_en-US" xlink:label="lab_us-gaap_AccountingStandardsUpdate201616Member_EE1B9C36D74D06D603EBB894E11349C2" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Accounting Standards Update 2016-16 [Member]</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccountingStandardsUpdate201616Member" xlink:label="loc_us-gaap_AccountingStandardsUpdate201616Member_EE1B9C36D74D06D603EBB894E11349C2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AccountingStandardsUpdate201616Member_EE1B9C36D74D06D603EBB894E11349C2" xlink:to="lab_us-gaap_AccountingStandardsUpdate201616Member_EE1B9C36D74D06D603EBB894E11349C2" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeTaxAuthorityAxis_E618489F49561EFEE37CB894E1138596_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityAxis_E618489F49561EFEE37CB894E1138596" 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_E618489F49561EFEE37CB894E1138596_label_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityAxis_E618489F49561EFEE37CB894E1138596" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="loc_us-gaap_IncomeTaxAuthorityAxis_E618489F49561EFEE37CB894E1138596" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxAuthorityAxis_E618489F49561EFEE37CB894E1138596" xlink:to="lab_us-gaap_IncomeTaxAuthorityAxis_E618489F49561EFEE37CB894E1138596" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeTaxAuthorityDomain_DF71BE8F0B8C1F2FD6B6B894E114AB40_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityDomain_DF71BE8F0B8C1F2FD6B6B894E114AB40" 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_DF71BE8F0B8C1F2FD6B6B894E114AB40_label_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityDomain_DF71BE8F0B8C1F2FD6B6B894E114AB40" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain_DF71BE8F0B8C1F2FD6B6B894E114AB40" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxAuthorityDomain_DF71BE8F0B8C1F2FD6B6B894E114AB40" xlink:to="lab_us-gaap_IncomeTaxAuthorityDomain_DF71BE8F0B8C1F2FD6B6B894E114AB40" xlink:type="arc" />
    <link:label id="lab_us-gaap_ForeignCountryMember_05A2CE4B41B0FD3CCD81B894E114AFF9_terseLabel_en-US" xlink:label="lab_us-gaap_ForeignCountryMember_05A2CE4B41B0FD3CCD81B894E114AFF9" 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_05A2CE4B41B0FD3CCD81B894E114AFF9_label_en-US" xlink:label="lab_us-gaap_ForeignCountryMember_05A2CE4B41B0FD3CCD81B894E114AFF9" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ForeignCountryMember" xlink:label="loc_us-gaap_ForeignCountryMember_05A2CE4B41B0FD3CCD81B894E114AFF9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ForeignCountryMember_05A2CE4B41B0FD3CCD81B894E114AFF9" xlink:to="lab_us-gaap_ForeignCountryMember_05A2CE4B41B0FD3CCD81B894E114AFF9" xlink:type="arc" />
    <link:label id="lab_us-gaap_DomesticCountryMember_6D51A738601F00D0F1C6B894E114FCEE_terseLabel_en-US" xlink:label="lab_us-gaap_DomesticCountryMember_6D51A738601F00D0F1C6B894E114FCEE" 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_6D51A738601F00D0F1C6B894E114FCEE_label_en-US" xlink:label="lab_us-gaap_DomesticCountryMember_6D51A738601F00D0F1C6B894E114FCEE" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DomesticCountryMember" xlink:label="loc_us-gaap_DomesticCountryMember_6D51A738601F00D0F1C6B894E114FCEE" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_DomesticCountryMember_6D51A738601F00D0F1C6B894E114FCEE" xlink:to="lab_us-gaap_DomesticCountryMember_6D51A738601F00D0F1C6B894E114FCEE" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeTaxAuthorityNameAxis_BE2A4BAA31CB4F048800B894E114BD89_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityNameAxis_BE2A4BAA31CB4F048800B894E114BD89" 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_BE2A4BAA31CB4F048800B894E114BD89_label_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityNameAxis_BE2A4BAA31CB4F048800B894E114BD89" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxAuthorityNameAxis" xlink:label="loc_us-gaap_IncomeTaxAuthorityNameAxis_BE2A4BAA31CB4F048800B894E114BD89" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxAuthorityNameAxis_BE2A4BAA31CB4F048800B894E114BD89" xlink:to="lab_us-gaap_IncomeTaxAuthorityNameAxis_BE2A4BAA31CB4F048800B894E114BD89" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeTaxAuthorityNameDomain_D155FDF0A305F2E72B0FB894E115C313_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityNameDomain_D155FDF0A305F2E72B0FB894E115C313" 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_D155FDF0A305F2E72B0FB894E115C313_label_en-US" xlink:label="lab_us-gaap_IncomeTaxAuthorityNameDomain_D155FDF0A305F2E72B0FB894E115C313" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaap_IncomeTaxAuthorityNameDomain_D155FDF0A305F2E72B0FB894E115C313" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxAuthorityNameDomain_D155FDF0A305F2E72B0FB894E115C313" xlink:to="lab_us-gaap_IncomeTaxAuthorityNameDomain_D155FDF0A305F2E72B0FB894E115C313" xlink:type="arc" />
    <link:label id="lab_us-gaap_RevenueCommissionersIrelandMember_9A81B808EBB299CA1F04B894E1152B72_terseLabel_en-US" xlink:label="lab_us-gaap_RevenueCommissionersIrelandMember_9A81B808EBB299CA1F04B894E1152B72" 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_9A81B808EBB299CA1F04B894E1152B72_label_en-US" xlink:label="lab_us-gaap_RevenueCommissionersIrelandMember_9A81B808EBB299CA1F04B894E1152B72" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_RevenueCommissionersIrelandMember" xlink:label="loc_us-gaap_RevenueCommissionersIrelandMember_9A81B808EBB299CA1F04B894E1152B72" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_RevenueCommissionersIrelandMember_9A81B808EBB299CA1F04B894E1152B72" xlink:to="lab_us-gaap_RevenueCommissionersIrelandMember_9A81B808EBB299CA1F04B894E1152B72" xlink:type="arc" />
    <link:label id="lab_us-gaap_StateAdministrationOfTaxationChinaMember_7A0644AA961D6684534BB894E1150435_terseLabel_en-US" xlink:label="lab_us-gaap_StateAdministrationOfTaxationChinaMember_7A0644AA961D6684534BB894E1150435" 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_7A0644AA961D6684534BB894E1150435_label_en-US" xlink:label="lab_us-gaap_StateAdministrationOfTaxationChinaMember_7A0644AA961D6684534BB894E1150435" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StateAdministrationOfTaxationChinaMember" xlink:label="loc_us-gaap_StateAdministrationOfTaxationChinaMember_7A0644AA961D6684534BB894E1150435" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_StateAdministrationOfTaxationChinaMember_7A0644AA961D6684534BB894E1150435" xlink:to="lab_us-gaap_StateAdministrationOfTaxationChinaMember_7A0644AA961D6684534BB894E1150435" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeTaxContingencyLineItems_9E3BB5CBFED74BBE727EB894E115D4D6_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxContingencyLineItems_9E3BB5CBFED74BBE727EB894E115D4D6" 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_9E3BB5CBFED74BBE727EB894E115D4D6_label_en-US" xlink:label="lab_us-gaap_IncomeTaxContingencyLineItems_9E3BB5CBFED74BBE727EB894E115D4D6" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxContingencyLineItems" xlink:label="loc_us-gaap_IncomeTaxContingencyLineItems_9E3BB5CBFED74BBE727EB894E115D4D6" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxContingencyLineItems_9E3BB5CBFED74BBE727EB894E115D4D6" xlink:to="lab_us-gaap_IncomeTaxContingencyLineItems_9E3BB5CBFED74BBE727EB894E115D4D6" xlink:type="arc" />
    <link:label id="lab_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_D45B66965C9F1E1A319DB894E11692A6_negatedLabel_en-US" xlink:label="lab_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_D45B66965C9F1E1A319DB894E11692A6" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_D45B66965C9F1E1A319DB894E11692A6" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_D45B66965C9F1E1A319DB894E11692A6" xlink:to="lab_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_D45B66965C9F1E1A319DB894E11692A6" xlink:type="arc" />
    <link:label id="lab_us-gaap_CumulativeEffectOnRetainedEarningsNetOfTax1_E740AC46B2D3A1BBC785B894E116574E_terseLabel_en-US" xlink:label="lab_us-gaap_CumulativeEffectOnRetainedEarningsNetOfTax1_E740AC46B2D3A1BBC785B894E116574E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Cumulative Effect on Retained Earnings, Net of Tax</link:label>
    <link:label id="lab_us-gaap_CumulativeEffectOnRetainedEarningsNetOfTax1_E740AC46B2D3A1BBC785B894E116574E_label_en-US" xlink:label="lab_us-gaap_CumulativeEffectOnRetainedEarningsNetOfTax1_E740AC46B2D3A1BBC785B894E116574E" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Cumulative Effect on Retained Earnings, Net of Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CumulativeEffectOnRetainedEarningsNetOfTax1" xlink:label="loc_us-gaap_CumulativeEffectOnRetainedEarningsNetOfTax1_E740AC46B2D3A1BBC785B894E116574E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_CumulativeEffectOnRetainedEarningsNetOfTax1_E740AC46B2D3A1BBC785B894E116574E" xlink:to="lab_us-gaap_CumulativeEffectOnRetainedEarningsNetOfTax1_E740AC46B2D3A1BBC785B894E116574E" xlink:type="arc" />
    <link:label id="lab_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_F6DFF169E497D461B77AB894E116D4D5_terseLabel_en-US" xlink:label="lab_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_F6DFF169E497D461B77AB894E116D4D5" 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="cgnx-20180701.xsd#cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent" xlink:label="loc_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_F6DFF169E497D461B77AB894E116D4D5" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_F6DFF169E497D461B77AB894E116D4D5" xlink:to="lab_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_F6DFF169E497D461B77AB894E116D4D5" xlink:type="arc" />
    <link:label id="lab_us-gaap_IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear_208D3133077CEA5E2BD4B894E116F9F2_terseLabel_en-US" xlink:label="lab_us-gaap_IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear_208D3133077CEA5E2BD4B894E116F9F2" 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_208D3133077CEA5E2BD4B894E116F9F2_label_en-US" xlink:label="lab_us-gaap_IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear_208D3133077CEA5E2BD4B894E116F9F2" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear" xlink:label="loc_us-gaap_IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear_208D3133077CEA5E2BD4B894E116F9F2" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear_208D3133077CEA5E2BD4B894E116F9F2" xlink:to="lab_us-gaap_IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear_208D3133077CEA5E2BD4B894E116F9F2" xlink:type="arc" />
    <link:label id="lab_cgnx_IncreaseDecreaseInterestAndPenalties_29AE48A66A482ADD0F2BB894E1163A5D_terseLabel_en-US" xlink:label="lab_cgnx_IncreaseDecreaseInterestAndPenalties_29AE48A66A482ADD0F2BB894E1163A5D" 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_29AE48A66A482ADD0F2BB894E1163A5D_label_en-US" xlink:label="lab_cgnx_IncreaseDecreaseInterestAndPenalties_29AE48A66A482ADD0F2BB894E1163A5D" 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_29AE48A66A482ADD0F2BB894E1163A5D_documentation_en-US" xlink:label="lab_cgnx_IncreaseDecreaseInterestAndPenalties_29AE48A66A482ADD0F2BB894E1163A5D" 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-20180701.xsd#cgnx_IncreaseDecreaseInterestAndPenalties" xlink:label="loc_cgnx_IncreaseDecreaseInterestAndPenalties_29AE48A66A482ADD0F2BB894E1163A5D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_IncreaseDecreaseInterestAndPenalties_29AE48A66A482ADD0F2BB894E1163A5D" xlink:to="lab_cgnx_IncreaseDecreaseInterestAndPenalties_29AE48A66A482ADD0F2BB894E1163A5D" xlink:type="arc" />
    <link:label id="lab_cgnx_LiabilityForUncertainTaxPositions_EAF60EBE191FB4171BD8B894E116BE72_terseLabel_en-US" xlink:label="lab_cgnx_LiabilityForUncertainTaxPositions_EAF60EBE191FB4171BD8B894E116BE72" 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_EAF60EBE191FB4171BD8B894E116BE72_label_en-US" xlink:label="lab_cgnx_LiabilityForUncertainTaxPositions_EAF60EBE191FB4171BD8B894E116BE72" 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_EAF60EBE191FB4171BD8B894E116BE72_documentation_en-US" xlink:label="lab_cgnx_LiabilityForUncertainTaxPositions_EAF60EBE191FB4171BD8B894E116BE72" 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-20180701.xsd#cgnx_LiabilityForUncertainTaxPositions" xlink:label="loc_cgnx_LiabilityForUncertainTaxPositions_EAF60EBE191FB4171BD8B894E116BE72" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_LiabilityForUncertainTaxPositions_EAF60EBE191FB4171BD8B894E116BE72" xlink:to="lab_cgnx_LiabilityForUncertainTaxPositions_EAF60EBE191FB4171BD8B894E116BE72" xlink:type="arc" />
    <link:label id="lab_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_69E450F275FF4BB846FDB894E1179334_verboseLabel_en-US" xlink:label="lab_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_69E450F275FF4BB846FDB894E1179334" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:label="loc_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_69E450F275FF4BB846FDB894E1179334" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_69E450F275FF4BB846FDB894E1179334" xlink:to="lab_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_69E450F275FF4BB846FDB894E1179334" xlink:type="arc" />
    <link:label id="lab_cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets_5416A797E928B946BD44B894E1174544_terseLabel_en-US" xlink:label="lab_cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets_5416A797E928B946BD44B894E1174544" 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_5416A797E928B946BD44B894E1174544_label_en-US" xlink:label="lab_cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets_5416A797E928B946BD44B894E1174544" 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_5416A797E928B946BD44B894E1174544_documentation_en-US" xlink:label="lab_cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets_5416A797E928B946BD44B894E1174544" 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-20180701.xsd#cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets" xlink:label="loc_cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets_5416A797E928B946BD44B894E1174544" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets_5416A797E928B946BD44B894E1174544" xlink:to="lab_cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets_5416A797E928B946BD44B894E1174544" xlink:type="arc" />
    <link:label id="lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_FE0E08EE3D52A7797003B894E117E690_terseLabel_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_FE0E08EE3D52A7797003B894E117E690" 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_FE0E08EE3D52A7797003B894E117E690_label_en-US" xlink:label="lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_FE0E08EE3D52A7797003B894E117E690" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_FE0E08EE3D52A7797003B894E117E690" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_FE0E08EE3D52A7797003B894E117E690" xlink:to="lab_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_FE0E08EE3D52A7797003B894E117E690" xlink:type="arc" />
    <link:label id="lab_cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_560B1F220A38820F98C9B894E117CFEC_terseLabel_en-US" xlink:label="lab_cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_560B1F220A38820F98C9B894E117CFEC" 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_560B1F220A38820F98C9B894E117CFEC_label_en-US" xlink:label="lab_cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_560B1F220A38820F98C9B894E117CFEC" 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_560B1F220A38820F98C9B894E117CFEC_documentation_en-US" xlink:label="lab_cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_560B1F220A38820F98C9B894E117CFEC" 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-20180701.xsd#cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves" xlink:label="loc_cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_560B1F220A38820F98C9B894E117CFEC" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_560B1F220A38820F98C9B894E117CFEC" xlink:to="lab_cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_560B1F220A38820F98C9B894E117CFEC" xlink:type="arc" />
    <link:label id="lab_cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_D68BE29C7FF3B5AFF69FB894E1188787_terseLabel_en-US" xlink:label="lab_cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_D68BE29C7FF3B5AFF69FB894E1188787" 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_D68BE29C7FF3B5AFF69FB894E1188787_label_en-US" xlink:label="lab_cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_D68BE29C7FF3B5AFF69FB894E1188787" 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_D68BE29C7FF3B5AFF69FB894E1188787_documentation_en-US" xlink:label="lab_cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_D68BE29C7FF3B5AFF69FB894E1188787" 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-20180701.xsd#cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves" xlink:label="loc_cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_D68BE29C7FF3B5AFF69FB894E1188787" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_D68BE29C7FF3B5AFF69FB894E1188787" xlink:to="lab_cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_D68BE29C7FF3B5AFF69FB894E1188787" xlink:type="arc" />
    <link:label id="lab_cgnx_TaxyearsopentoexaminationbyInternalRevenueService_8628A227E2D652909BA8B894E118B375_terseLabel_en-US" xlink:label="lab_cgnx_TaxyearsopentoexaminationbyInternalRevenueService_8628A227E2D652909BA8B894E118B375" 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_8628A227E2D652909BA8B894E118B375_label_en-US" xlink:label="lab_cgnx_TaxyearsopentoexaminationbyInternalRevenueService_8628A227E2D652909BA8B894E118B375" 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_8628A227E2D652909BA8B894E118B375_documentation_en-US" xlink:label="lab_cgnx_TaxyearsopentoexaminationbyInternalRevenueService_8628A227E2D652909BA8B894E118B375" 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-20180701.xsd#cgnx_TaxyearsopentoexaminationbyInternalRevenueService" xlink:label="loc_cgnx_TaxyearsopentoexaminationbyInternalRevenueService_8628A227E2D652909BA8B894E118B375" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_TaxyearsopentoexaminationbyInternalRevenueService_8628A227E2D652909BA8B894E118B375" xlink:to="lab_cgnx_TaxyearsopentoexaminationbyInternalRevenueService_8628A227E2D652909BA8B894E118B375" xlink:type="arc" />
    <link:label id="lab_cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities_730124454D5C6620BCD2B894E118AF30_terseLabel_en-US" xlink:label="lab_cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities_730124454D5C6620BCD2B894E118AF30" 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_730124454D5C6620BCD2B894E118AF30_label_en-US" xlink:label="lab_cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities_730124454D5C6620BCD2B894E118AF30" 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_730124454D5C6620BCD2B894E118AF30_documentation_en-US" xlink:label="lab_cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities_730124454D5C6620BCD2B894E118AF30" 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-20180701.xsd#cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities" xlink:label="loc_cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities_730124454D5C6620BCD2B894E118AF30" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities_730124454D5C6620BCD2B894E118AF30" xlink:to="lab_cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities_730124454D5C6620BCD2B894E118AF30" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_BA0E8C2C7138CAEBADB4ADCB9E1B817D_terseLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_BA0E8C2C7138CAEBADB4ADCB9E1B817D" 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_BA0E8C2C7138CAEBADB4ADCB9E1B817D_label_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_BA0E8C2C7138CAEBADB4ADCB9E1B817D" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available-for-sale Securities, Debt Maturities, Next Twelve Months, Fair Value</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_BA0E8C2C7138CAEBADB4ADCB9E1B817D" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_BA0E8C2C7138CAEBADB4ADCB9E1B817D" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_BA0E8C2C7138CAEBADB4ADCB9E1B817D" xlink:type="arc" />
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_3D7A7400B7ADC51EA94DADCB9E1BFF50_terseLabel_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_3D7A7400B7ADC51EA94DADCB9E1BFF50" 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_3D7A7400B7ADC51EA94DADCB9E1BFF50_label_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_3D7A7400B7ADC51EA94DADCB9E1BFF50" 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_3D7A7400B7ADC51EA94DADCB9E1BFF50_documentation_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_3D7A7400B7ADC51EA94DADCB9E1BFF50" 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-20180701.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_3D7A7400B7ADC51EA94DADCB9E1BFF50" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_3D7A7400B7ADC51EA94DADCB9E1BFF50" xlink:to="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_3D7A7400B7ADC51EA94DADCB9E1BFF50" xlink:type="arc" />
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_71207F2DC7BA43851500ADCB9E1BA1BB_terseLabel_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_71207F2DC7BA43851500ADCB9E1BA1BB" 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_71207F2DC7BA43851500ADCB9E1BA1BB_label_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_71207F2DC7BA43851500ADCB9E1BA1BB" 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_71207F2DC7BA43851500ADCB9E1BA1BB_documentation_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_71207F2DC7BA43851500ADCB9E1BA1BB" 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-20180701.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_71207F2DC7BA43851500ADCB9E1BA1BB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_71207F2DC7BA43851500ADCB9E1BA1BB" xlink:to="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_71207F2DC7BA43851500ADCB9E1BA1BB" xlink:type="arc" />
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_8A169DFCD94514CBBD6CADCB9E1B50EA_terseLabel_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_8A169DFCD94514CBBD6CADCB9E1B50EA" 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_8A169DFCD94514CBBD6CADCB9E1B50EA_label_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_8A169DFCD94514CBBD6CADCB9E1B50EA" 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_8A169DFCD94514CBBD6CADCB9E1B50EA_documentation_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_8A169DFCD94514CBBD6CADCB9E1B50EA" 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-20180701.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_8A169DFCD94514CBBD6CADCB9E1B50EA" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_8A169DFCD94514CBBD6CADCB9E1B50EA" xlink:to="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_8A169DFCD94514CBBD6CADCB9E1B50EA" xlink:type="arc" />
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_39F82D6B90C34CFE03DEADCB9E1C7329_terseLabel_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_39F82D6B90C34CFE03DEADCB9E1C7329" 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_39F82D6B90C34CFE03DEADCB9E1C7329_label_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_39F82D6B90C34CFE03DEADCB9E1C7329" 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_39F82D6B90C34CFE03DEADCB9E1C7329_documentation_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_39F82D6B90C34CFE03DEADCB9E1C7329" 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-20180701.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_39F82D6B90C34CFE03DEADCB9E1C7329" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_39F82D6B90C34CFE03DEADCB9E1C7329" xlink:to="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_39F82D6B90C34CFE03DEADCB9E1C7329" xlink:type="arc" />
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue_8CCF951CE0D80AF7F64DADCB9E1C3846_terseLabel_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue_8CCF951CE0D80AF7F64DADCB9E1C3846" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">5-7 years</link:label>
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue_8CCF951CE0D80AF7F64DADCB9E1C3846_label_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue_8CCF951CE0D80AF7F64DADCB9E1C3846" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Available For Sale Securities Debt Maturities After Five Years Before Seven Years Fair Value</link:label>
    <link:label id="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue_8CCF951CE0D80AF7F64DADCB9E1C3846_documentation_en-US" xlink:label="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue_8CCF951CE0D80AF7F64DADCB9E1C3846" xlink:role="http://www.xbrl.org/2003/role/documentation" xlink:type="resource" xml:lang="en-US">Available For Sale Securities Debt Maturities After Five Years Before Seven Years Fair Value</link:label>
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue_8CCF951CE0D80AF7F64DADCB9E1C3846" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue_8CCF951CE0D80AF7F64DADCB9E1C3846" xlink:to="lab_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue_8CCF951CE0D80AF7F64DADCB9E1C3846" xlink:type="arc" />
    <link:label id="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities_294B10EAFCC79F1F69AFADCB9E1C4689_totalLabel_en-US" xlink:label="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities_294B10EAFCC79F1F69AFADCB9E1C4689" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_294B10EAFCC79F1F69AFADCB9E1C4689" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_294B10EAFCC79F1F69AFADCB9E1C4689" xlink:to="lab_us-gaap_AvailableForSaleSecuritiesDebtSecurities_294B10EAFCC79F1F69AFADCB9E1C4689" xlink:type="arc" />
    <link:label id="lab_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_D6E2DB8EF6EBD5FC86A4A9F25E891B50_terseLabel_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_D6E2DB8EF6EBD5FC86A4A9F25E891B50" 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_D6E2DB8EF6EBD5FC86A4A9F25E891B50_label_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_D6E2DB8EF6EBD5FC86A4A9F25E891B50" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_D6E2DB8EF6EBD5FC86A4A9F25E891B50" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_D6E2DB8EF6EBD5FC86A4A9F25E891B50" xlink:to="lab_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_D6E2DB8EF6EBD5FC86A4A9F25E891B50" xlink:type="arc" />
    <link:label id="lab_cgnx_CashflowshedgesAbstract_2610908D0943EE2CBF08A9F25E896F27_terseLabel_en-US" xlink:label="lab_cgnx_CashflowshedgesAbstract_2610908D0943EE2CBF08A9F25E896F27" 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_2610908D0943EE2CBF08A9F25E896F27_label_en-US" xlink:label="lab_cgnx_CashflowshedgesAbstract_2610908D0943EE2CBF08A9F25E896F27" 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_2610908D0943EE2CBF08A9F25E896F27_documentation_en-US" xlink:label="lab_cgnx_CashflowshedgesAbstract_2610908D0943EE2CBF08A9F25E896F27" 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-20180701.xsd#cgnx_CashflowshedgesAbstract" xlink:label="loc_cgnx_CashflowshedgesAbstract_2610908D0943EE2CBF08A9F25E896F27" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_CashflowshedgesAbstract_2610908D0943EE2CBF08A9F25E896F27" xlink:to="lab_cgnx_CashflowshedgesAbstract_2610908D0943EE2CBF08A9F25E896F27" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax_320F858F1E55BE47519AA9F25E8A4953_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax_320F858F1E55BE47519AA9F25E8A4953" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Net unrealized gain (loss), net of tax of $0 and $7 in the three-month periods and net of tax of $0 and $3 in the six-month periods, respectively</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax_320F858F1E55BE47519AA9F25E8A4953_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax_320F858F1E55BE47519AA9F25E8A4953" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Comprehensive Income (Loss), Unrealized Gain (Loss) on Derivatives Arising During Period, Net of Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax_320F858F1E55BE47519AA9F25E8A4953" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax_320F858F1E55BE47519AA9F25E8A4953" xlink:to="lab_us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax_320F858F1E55BE47519AA9F25E8A4953" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_C116F4D2CB9ABD2E65B8A9F25E8A8497_negatedTerseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_C116F4D2CB9ABD2E65B8A9F25E8A8497" xlink:role="http://www.xbrl.org/2009/role/negatedTerseLabel" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_C116F4D2CB9ABD2E65B8A9F25E8A8497" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_C116F4D2CB9ABD2E65B8A9F25E8A8497" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_C116F4D2CB9ABD2E65B8A9F25E8A8497" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax_ECA1811E59B6F479748EA9F25E8ADE1B_totalLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax_ECA1811E59B6F479748EA9F25E8ADE1B" xlink:role="http://www.xbrl.org/2003/role/totalLabel" xlink:type="resource" xml:lang="en-US">Net change related to cash flow hedges</link:label>
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax_ECA1811E59B6F479748EA9F25E8ADE1B_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax_ECA1811E59B6F479748EA9F25E8ADE1B" xlink:role="http://www.xbrl.org/2003/role/label" xlink:type="resource" xml:lang="en-US">Other Comprehensive Income (Loss), Derivatives Qualifying as Hedges, Net of Tax</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax_ECA1811E59B6F479748EA9F25E8ADE1B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax_ECA1811E59B6F479748EA9F25E8ADE1B" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax_ECA1811E59B6F479748EA9F25E8ADE1B" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_66D0686EBABCCD73BB34A9F25E8AF79A_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_66D0686EBABCCD73BB34A9F25E8AF79A" 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_66D0686EBABCCD73BB34A9F25E8AF79A_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_66D0686EBABCCD73BB34A9F25E8AF79A" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_66D0686EBABCCD73BB34A9F25E8AF79A" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_66D0686EBABCCD73BB34A9F25E8AF79A" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_66D0686EBABCCD73BB34A9F25E8AF79A" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_60E909B3E33D7D1940C5A9F25E8A6730_terseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_60E909B3E33D7D1940C5A9F25E8A6730" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Net unrealized gain (loss), net of tax of $8 and $58 in the three-month periods and net of tax of $(106) and $150 in the six-month periods, respectively</link:label>
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_60E909B3E33D7D1940C5A9F25E8A6730" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_60E909B3E33D7D1940C5A9F25E8A6730" xlink:to="lab_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_60E909B3E33D7D1940C5A9F25E8A6730" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_042D359F30DA1A6A83DDA9F25E8B405F_negatedLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_042D359F30DA1A6A83DDA9F25E8B405F" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_042D359F30DA1A6A83DDA9F25E8B405F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_042D359F30DA1A6A83DDA9F25E8B405F" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_042D359F30DA1A6A83DDA9F25E8B405F" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_3FBADB9C6209FE8AC2D7A9F25E8B7916_totalLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_3FBADB9C6209FE8AC2D7A9F25E8B7916" 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_3FBADB9C6209FE8AC2D7A9F25E8B7916_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_3FBADB9C6209FE8AC2D7A9F25E8B7916" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent" xlink:label="loc_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_3FBADB9C6209FE8AC2D7A9F25E8B7916" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_3FBADB9C6209FE8AC2D7A9F25E8B7916" xlink:to="lab_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_3FBADB9C6209FE8AC2D7A9F25E8B7916" xlink:type="arc" />
    <link:label id="lab_cgnx_CurrencytranslationadjustmentsAbstract_5F8D564E7D49DABA0EA5A9F25E8BAF55_terseLabel_en-US" xlink:label="lab_cgnx_CurrencytranslationadjustmentsAbstract_5F8D564E7D49DABA0EA5A9F25E8BAF55" 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_5F8D564E7D49DABA0EA5A9F25E8BAF55_label_en-US" xlink:label="lab_cgnx_CurrencytranslationadjustmentsAbstract_5F8D564E7D49DABA0EA5A9F25E8BAF55" 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_5F8D564E7D49DABA0EA5A9F25E8BAF55_documentation_en-US" xlink:label="lab_cgnx_CurrencytranslationadjustmentsAbstract_5F8D564E7D49DABA0EA5A9F25E8BAF55" 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-20180701.xsd#cgnx_CurrencytranslationadjustmentsAbstract" xlink:label="loc_cgnx_CurrencytranslationadjustmentsAbstract_5F8D564E7D49DABA0EA5A9F25E8BAF55" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_cgnx_CurrencytranslationadjustmentsAbstract_5F8D564E7D49DABA0EA5A9F25E8BAF55" xlink:to="lab_cgnx_CurrencytranslationadjustmentsAbstract_5F8D564E7D49DABA0EA5A9F25E8BAF55" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_D0F7C54FD7AB4603AC18A9F25E8BAA5F_verboseLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_D0F7C54FD7AB4603AC18A9F25E8BAA5F" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_D0F7C54FD7AB4603AC18A9F25E8BAA5F" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_D0F7C54FD7AB4603AC18A9F25E8BAA5F" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_D0F7C54FD7AB4603AC18A9F25E8BAA5F" xlink:type="arc" />
    <link:label id="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_1ED75FE98F12649E7CD7A9F25E8BE45B_totalLabel_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_1ED75FE98F12649E7CD7A9F25E8BE45B" 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_1ED75FE98F12649E7CD7A9F25E8BE45B_label_en-US" xlink:label="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_1ED75FE98F12649E7CD7A9F25E8BE45B" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_1ED75FE98F12649E7CD7A9F25E8BE45B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_1ED75FE98F12649E7CD7A9F25E8BE45B" xlink:to="lab_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_1ED75FE98F12649E7CD7A9F25E8BE45B" xlink:type="arc" />
    <link:label id="lab_us-gaap_ComprehensiveIncomeNetOfTax_A94D499998E965551F2EA9F25E8CB0F3_totalLabel_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTax_A94D499998E965551F2EA9F25E8CB0F3" 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_A94D499998E965551F2EA9F25E8CB0F3_label_en-US" xlink:label="lab_us-gaap_ComprehensiveIncomeNetOfTax_A94D499998E965551F2EA9F25E8CB0F3" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax_A94D499998E965551F2EA9F25E8CB0F3" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ComprehensiveIncomeNetOfTax_A94D499998E965551F2EA9F25E8CB0F3" xlink:to="lab_us-gaap_ComprehensiveIncomeNetOfTax_A94D499998E965551F2EA9F25E8CB0F3" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_A4F8E9C52ED5FC6D826AB895CE2885CB_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_A4F8E9C52ED5FC6D826AB895CE2885CB" 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_A4F8E9C52ED5FC6D826AB895CE2885CB_label_en-US" xlink:label="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_A4F8E9C52ED5FC6D826AB895CE2885CB" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_A4F8E9C52ED5FC6D826AB895CE2885CB" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_A4F8E9C52ED5FC6D826AB895CE2885CB" xlink:to="lab_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_A4F8E9C52ED5FC6D826AB895CE2885CB" xlink:type="arc" />
    <link:label id="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_3E12F6DD2A7FB299242FB895CE294D8B_terseLabel_en-US" xlink:label="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_3E12F6DD2A7FB299242FB895CE294D8B" 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_3E12F6DD2A7FB299242FB895CE294D8B_label_en-US" xlink:label="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_3E12F6DD2A7FB299242FB895CE294D8B" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:label="loc_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_3E12F6DD2A7FB299242FB895CE294D8B" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_3E12F6DD2A7FB299242FB895CE294D8B" xlink:to="lab_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_3E12F6DD2A7FB299242FB895CE294D8B" xlink:type="arc" />
    <link:label id="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_7F3FAD60B5704A51CA1194A15004DAE9_verboseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_7F3FAD60B5704A51CA1194A15004DAE9" 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:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_7F3FAD60B5704A51CA1194A15004DAE9" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_7F3FAD60B5704A51CA1194A15004DAE9" xlink:to="lab_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_7F3FAD60B5704A51CA1194A15004DAE9" xlink:type="arc" />
    <link:label id="lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_CBFD647A84B8D79EA27294A15004637E_terseLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_CBFD647A84B8D79EA27294A15004637E" xlink:role="http://www.xbrl.org/2003/role/terseLabel" xlink:type="resource" xml:lang="en-US">Effect of dilutive stock options</link:label>
    <link:label id="lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_CBFD647A84B8D79EA27294A15004637E_label_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_CBFD647A84B8D79EA27294A15004637E" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:label="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_CBFD647A84B8D79EA27294A15004637E" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_CBFD647A84B8D79EA27294A15004637E" xlink:to="lab_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_CBFD647A84B8D79EA27294A15004637E" xlink:type="arc" />
    <link:label id="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_E010753B7949037693CB94A15005AA43_totalLabel_en-US" xlink:label="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_E010753B7949037693CB94A15005AA43" 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:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_E010753B7949037693CB94A15005AA43" xlink:type="locator" />
    <link:labelArc order="1" xlink:arcrole="http://www.xbrl.org/2003/arcrole/concept-label" xlink:from="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_E010753B7949037693CB94A15005AA43" xlink:to="lab_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_E010753B7949037693CB94A15005AA43" xlink:type="arc" />
  </link:labelLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-101.PRE
<SEQUENCE>11
<FILENAME>cgnx-20180701_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-20180701.xsd#CashCashEquivalentsAndInvestments" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail" xlink:href="cgnx-20180701.xsd#CashCashEquivalentsAndInvestmentsComponentsOfCashCashEquivalentsAndInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsDetail" xlink:href="cgnx-20180701.xsd#CashCashEquivalentsAndInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail" xlink:href="cgnx-20180701.xsd#CashCashEquivalentsAndInvestmentsEffectiveMaturityDatesOfAvailableForSaleInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail" xlink:href="cgnx-20180701.xsd#CashCashEquivalentsAndInvestmentsGrossUnrealizedLossesAndFairValuesForAvailableForSaleInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail" xlink:href="cgnx-20180701.xsd#CashCashEquivalentsAndInvestmentsSummaryOfAvailableForSaleInvestmentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/CashCashEquivalentsAndInvestmentsTables" xlink:href="cgnx-20180701.xsd#CashCashEquivalentsAndInvestmentsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedBalanceSheets" xlink:href="cgnx-20180701.xsd#ConsolidatedBalanceSheets" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedBalanceSheetsParenthetical" xlink:href="cgnx-20180701.xsd#ConsolidatedBalanceSheetsParenthetical" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquity" xlink:href="cgnx-20180701.xsd#ConsolidatedStatementOfShareholdersEquity" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementOfShareholdersEquityParenthetical" xlink:href="cgnx-20180701.xsd#ConsolidatedStatementOfShareholdersEquityParenthetical" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementsOfCashFlows" xlink:href="cgnx-20180701.xsd#ConsolidatedStatementsOfCashFlows" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncome" xlink:href="cgnx-20180701.xsd#ConsolidatedStatementsOfComprehensiveIncome" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementsOfComprehensiveIncomeParenthetical" xlink:href="cgnx-20180701.xsd#ConsolidatedStatementsOfComprehensiveIncomeParenthetical" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/ConsolidatedStatementsOfOperations" xlink:href="cgnx-20180701.xsd#ConsolidatedStatementsOfOperations" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstruments" xlink:href="cgnx-20180701.xsd#DerivativeInstruments" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsDerivativeInstrumentsGainLossDetail" xlink:href="cgnx-20180701.xsd#DerivativeInstrumentsDerivativeInstrumentsGainLossDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsDetail" xlink:href="cgnx-20180701.xsd#DerivativeInstrumentsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsOffsettingAssetsDetail" xlink:href="cgnx-20180701.xsd#DerivativeInstrumentsOffsettingAssetsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsOutstandingForwardContractsTableDetail" xlink:href="cgnx-20180701.xsd#DerivativeInstrumentsOutstandingForwardContractsTableDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail" xlink:href="cgnx-20180701.xsd#DerivativeInstrumentsScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DerivativeInstrumentsTables" xlink:href="cgnx-20180701.xsd#DerivativeInstrumentsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/DocumentAndEntityInformation" xlink:href="cgnx-20180701.xsd#DocumentAndEntityInformation" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/FairValueMeasurements" xlink:href="cgnx-20180701.xsd#FairValueMeasurements" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" xlink:href="cgnx-20180701.xsd#FairValueMeasurementsAssetsAndLiabilitiesMeasuredAtFairValueOnRecurringBasisDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails" xlink:href="cgnx-20180701.xsd#FairValueMeasurementsLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/FairValueMeasurementsTables" xlink:href="cgnx-20180701.xsd#FairValueMeasurementsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/IntangibleAssets" xlink:href="cgnx-20180701.xsd#IntangibleAssets" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/IntangibleAssetsDetails" xlink:href="cgnx-20180701.xsd#IntangibleAssetsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/IntangibleAssetsTables" xlink:href="cgnx-20180701.xsd#IntangibleAssetsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/Inventories" xlink:href="cgnx-20180701.xsd#Inventories" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/InventoriesScheduleOfInventoriesDetail" xlink:href="cgnx-20180701.xsd#InventoriesScheduleOfInventoriesDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/InventoriesTables" xlink:href="cgnx-20180701.xsd#InventoriesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/NewPronouncements" xlink:href="cgnx-20180701.xsd#NewPronouncements" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpense" xlink:href="cgnx-20180701.xsd#StockBasedCompensationExpense" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseDetail" xlink:href="cgnx-20180701.xsd#StockBasedCompensationExpenseDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseNonvestedRestrictedStockSharesActivityDetails" xlink:href="cgnx-20180701.xsd#StockBasedCompensationExpenseNonvestedRestrictedStockSharesActivityDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsDetail" xlink:href="cgnx-20180701.xsd#StockBasedCompensationExpenseScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" xlink:href="cgnx-20180701.xsd#StockBasedCompensationExpenseSummaryOfStockOptionActivityDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseTables" xlink:href="cgnx-20180701.xsd#StockBasedCompensationExpenseTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail" xlink:href="cgnx-20180701.xsd#StockBasedCompensationExpenseWeightedAverageAssumptionsUsedInEstimatingFairValuesOfStockOptionsGrantedDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockRepurchaseProgram" xlink:href="cgnx-20180701.xsd#StockRepurchaseProgram" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/StockRepurchaseProgramDetail" xlink:href="cgnx-20180701.xsd#StockRepurchaseProgramDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/SubsequentEvents" xlink:href="cgnx-20180701.xsd#SubsequentEvents" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/SubsequentEventsDetails" xlink:href="cgnx-20180701.xsd#SubsequentEventsDetails" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/SummaryOfSignificantAccountingPolicies" xlink:href="cgnx-20180701.xsd#SummaryOfSignificantAccountingPolicies" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/SummaryOfSignificantAccountingPoliciesPolicies" xlink:href="cgnx-20180701.xsd#SummaryOfSignificantAccountingPoliciesPolicies" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/Taxes" xlink:href="cgnx-20180701.xsd#Taxes" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/TaxesDetail" xlink:href="cgnx-20180701.xsd#TaxesDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail" xlink:href="cgnx-20180701.xsd#TaxesReconciliationOfUnitedStatesFederalStatutoryCorporateTaxRateToCompanysEffectiveTaxRateOrIncomeTaxProvisionDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/TaxesTables" xlink:href="cgnx-20180701.xsd#TaxesTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WarrantyObligations" xlink:href="cgnx-20180701.xsd#WarrantyObligations" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WarrantyObligationsChangesInWarrantyObligationsDetail" xlink:href="cgnx-20180701.xsd#WarrantyObligationsChangesInWarrantyObligationsDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WarrantyObligationsTables" xlink:href="cgnx-20180701.xsd#WarrantyObligationsTables" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WeightedAverageShares" xlink:href="cgnx-20180701.xsd#WeightedAverageShares" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WeightedAverageSharesCalculationOfWeightedAverageSharesDetail" xlink:href="cgnx-20180701.xsd#WeightedAverageSharesCalculationOfWeightedAverageSharesDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WeightedAverageSharesDetail" xlink:href="cgnx-20180701.xsd#WeightedAverageSharesDetail" xlink:type="simple" />
  <link:roleRef roleURI="http://www.cognex.com/role/WeightedAverageSharesTables" xlink:href="cgnx-20180701.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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CashAndCashEquivalentsAbstract" xlink:label="loc_us-gaap_CashAndCashEquivalentsAbstract_C655E81DE689A288BF9394A14EFD7782" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock" xlink:label="loc_us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock_0A0BC702A2D0462F274494A14EFD929B" 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_C655E81DE689A288BF9394A14EFD7782" xlink:to="loc_us-gaap_InvestmentsInDebtAndEquityInstrumentsCashAndCashEquivalentsUnrealizedAndRealizedGainsLossesTextBlock_0A0BC702A2D0462F274494A14EFD929B" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CashAndCashEquivalentsAbstract" xlink:label="loc_us-gaap_CashAndCashEquivalentsAbstract_4EA2D95E7737C12B0331ADCB50511DD8" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesTable" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_F5C6B294439D35C664ABADCB50516388" 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_4EA2D95E7737C12B0331ADCB50511DD8" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_F5C6B294439D35C664ABADCB50516388" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_93C5A735A0D5DC1EA887ADCB5051FE2F" 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_F5C6B294439D35C664ABADCB50516388" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_93C5A735A0D5DC1EA887ADCB5051FE2F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_29990416251CA2D29CE6ADCB5051DC71" 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_MajorTypesOfDebtAndEquitySecuritiesAxis_93C5A735A0D5DC1EA887ADCB5051FE2F" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_29990416251CA2D29CE6ADCB5051DC71" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_USTreasurySecuritiesMember" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_B36221E3938A1194460BADCB505239F2" 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_MajorTypesOfDebtAndEquitySecuritiesDomain_29990416251CA2D29CE6ADCB5051DC71" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_B36221E3938A1194460BADCB505239F2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CorporateBondSecuritiesMember" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_5A697FF64967183477BEADCB505211D3" 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_MajorTypesOfDebtAndEquitySecuritiesDomain_29990416251CA2D29CE6ADCB5051DC71" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_5A697FF64967183477BEADCB505211D3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AssetBackedSecuritiesMember" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_F160D6AD9148B3A23E1BADCB50528000" 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_MajorTypesOfDebtAndEquitySecuritiesDomain_29990416251CA2D29CE6ADCB5051DC71" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_F160D6AD9148B3A23E1BADCB50528000" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SovereignDebtSecuritiesMember" xlink:label="loc_us-gaap_SovereignDebtSecuritiesMember_CF5718C8401048747AEDADCB50521D53" 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_MajorTypesOfDebtAndEquitySecuritiesDomain_29990416251CA2D29CE6ADCB5051DC71" xlink:to="loc_us-gaap_SovereignDebtSecuritiesMember_CF5718C8401048747AEDADCB50521D53" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_AgencyBondsMember" xlink:label="loc_cgnx_AgencyBondsMember_747BBEE23E919D90C22FADCB5053D675" 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_MajorTypesOfDebtAndEquitySecuritiesDomain_29990416251CA2D29CE6ADCB5051DC71" xlink:to="loc_cgnx_AgencyBondsMember_747BBEE23E919D90C22FADCB5053D675" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MunicipalBondsMember" xlink:label="loc_us-gaap_MunicipalBondsMember_9BECB1AD36777DE5DF04ADCB50532AD0" 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_MajorTypesOfDebtAndEquitySecuritiesDomain_29990416251CA2D29CE6ADCB5051DC71" xlink:to="loc_us-gaap_MunicipalBondsMember_9BECB1AD36777DE5DF04ADCB50532AD0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_23890B598E976BD42EB1ADCB50535275" 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_F5C6B294439D35C664ABADCB50516388" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_23890B598E976BD42EB1ADCB50535275" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_Cash" xlink:label="loc_us-gaap_Cash_6DEC40A0C500C135A9E6ADCB5053C785" 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_23890B598E976BD42EB1ADCB50535275" xlink:to="loc_us-gaap_Cash_6DEC40A0C500C135A9E6ADCB5053C785" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MoneyMarketFundsAtCarryingValue" xlink:label="loc_us-gaap_MoneyMarketFundsAtCarryingValue_68A5E04EAC5F6CC80CC3ADCB50533D27" 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_23890B598E976BD42EB1ADCB50535275" xlink:to="loc_us-gaap_MoneyMarketFundsAtCarryingValue_68A5E04EAC5F6CC80CC3ADCB50533D27" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_D3CCEE812B0FE9CC7D36ADCB50532344" 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_23890B598E976BD42EB1ADCB50535275" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_D3CCEE812B0FE9CC7D36ADCB50532344" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_AE162099E871BACF9D56ADCB5053D1C2" 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_23890B598E976BD42EB1ADCB50535275" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_AE162099E871BACF9D56ADCB5053D1C2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_A493D711D2F68AF8B600ADCB5054862A" 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_23890B598E976BD42EB1ADCB50535275" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent_A493D711D2F68AF8B600ADCB5054862A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LongTermInvestments" xlink:label="loc_us-gaap_LongTermInvestments_FDC6CF8E4F1FE67718C3ADCB505496B4" 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_23890B598E976BD42EB1ADCB50535275" xlink:to="loc_us-gaap_LongTermInvestments_FDC6CF8E4F1FE67718C3ADCB505496B4" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_CashCashEquivalentsShortTermAndLongTermInvestments" xlink:label="loc_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_076689E9640DB8196644ADCB5054FA55" 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_23890B598E976BD42EB1ADCB50535275" xlink:to="loc_cgnx_CashCashEquivalentsShortTermAndLongTermInvestments_076689E9640DB8196644ADCB5054FA55" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CashAndCashEquivalentsAbstract" xlink:label="loc_us-gaap_CashAndCashEquivalentsAbstract_92CE3011362BBFA5F7F294A14FF546AA" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesGrossRealizedGains" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesGrossRealizedGains_E5C1056436F2F5CE6E4094A14FF57D17" 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_92CE3011362BBFA5F7F294A14FF546AA" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesGrossRealizedGains_E5C1056436F2F5CE6E4094A14FF57D17" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses_063D74A09BD91881CF9794A14FF58F65" 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_92CE3011362BBFA5F7F294A14FF546AA" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesGrossRealizedLosses_063D74A09BD91881CF9794A14FF58F65" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CashAndCashEquivalentsAbstract" xlink:label="loc_us-gaap_CashAndCashEquivalentsAbstract_D0EDA3E87357656757C2ADCB9E18725C" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesTable" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_DBA933C7A6194362D306ADCB9E1929DB" 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_D0EDA3E87357656757C2ADCB9E18725C" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_DBA933C7A6194362D306ADCB9E1929DB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_DCF391A023DE0AEB75EAADCB9E1993F1" 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_DBA933C7A6194362D306ADCB9E1929DB" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_DCF391A023DE0AEB75EAADCB9E1993F1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_41906E8739CF7968231CADCB9E193F8A" 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_MajorTypesOfDebtAndEquitySecuritiesAxis_DCF391A023DE0AEB75EAADCB9E1993F1" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_41906E8739CF7968231CADCB9E193F8A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CorporateBondSecuritiesMember" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_54381C55A7BB2EC42915ADCB9E1AE152" 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_MajorTypesOfDebtAndEquitySecuritiesDomain_41906E8739CF7968231CADCB9E193F8A" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_54381C55A7BB2EC42915ADCB9E1AE152" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_USTreasurySecuritiesMember" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_708DA303D98E6FEA7C76ADCB9E1A8EB3" 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_MajorTypesOfDebtAndEquitySecuritiesDomain_41906E8739CF7968231CADCB9E193F8A" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_708DA303D98E6FEA7C76ADCB9E1A8EB3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AssetBackedSecuritiesMember" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_44AAD6D23DAACCCD6FC3ADCB9E1A9C45" 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_MajorTypesOfDebtAndEquitySecuritiesDomain_41906E8739CF7968231CADCB9E193F8A" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_44AAD6D23DAACCCD6FC3ADCB9E1A9C45" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SovereignDebtSecuritiesMember" xlink:label="loc_us-gaap_SovereignDebtSecuritiesMember_18B53EC4B73AAE210167ADCB9E1A9BD7" 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_MajorTypesOfDebtAndEquitySecuritiesDomain_41906E8739CF7968231CADCB9E193F8A" xlink:to="loc_us-gaap_SovereignDebtSecuritiesMember_18B53EC4B73AAE210167ADCB9E1A9BD7" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_AgencyBondsMember" xlink:label="loc_cgnx_AgencyBondsMember_399B8069E1F537939062ADCB9E1A78C5" 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_MajorTypesOfDebtAndEquitySecuritiesDomain_41906E8739CF7968231CADCB9E193F8A" xlink:to="loc_cgnx_AgencyBondsMember_399B8069E1F537939062ADCB9E1A78C5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MunicipalBondsMember" xlink:label="loc_us-gaap_MunicipalBondsMember_435463539EFAF03C1B98ADCB9E1B793A" 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_MajorTypesOfDebtAndEquitySecuritiesDomain_41906E8739CF7968231CADCB9E193F8A" xlink:to="loc_us-gaap_MunicipalBondsMember_435463539EFAF03C1B98ADCB9E1B793A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_FEB8F195F2E2041125D1ADCB9E1BA7AC" 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_DBA933C7A6194362D306ADCB9E1929DB" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_FEB8F195F2E2041125D1ADCB9E1BA7AC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_BA0E8C2C7138CAEBADB4ADCB9E1B817D" 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_FEB8F195F2E2041125D1ADCB9E1BA7AC" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue_BA0E8C2C7138CAEBADB4ADCB9E1B817D" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_3D7A7400B7ADC51EA94DADCB9E1BFF50" 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_FEB8F195F2E2041125D1ADCB9E1BA7AC" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue_3D7A7400B7ADC51EA94DADCB9E1BFF50" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_71207F2DC7BA43851500ADCB9E1BA1BB" 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_FEB8F195F2E2041125D1ADCB9E1BA7AC" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue_71207F2DC7BA43851500ADCB9E1BA1BB" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_8A169DFCD94514CBBD6CADCB9E1B50EA" 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_FEB8F195F2E2041125D1ADCB9E1BA7AC" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue_8A169DFCD94514CBBD6CADCB9E1B50EA" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_39F82D6B90C34CFE03DEADCB9E1C7329" 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_FEB8F195F2E2041125D1ADCB9E1BA7AC" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue_39F82D6B90C34CFE03DEADCB9E1C7329" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue" xlink:label="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue_8CCF951CE0D80AF7F64DADCB9E1C3846" 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_ScheduleOfAvailableForSaleSecuritiesLineItems_FEB8F195F2E2041125D1ADCB9E1BA7AC" xlink:to="loc_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue_8CCF951CE0D80AF7F64DADCB9E1C3846" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_294B10EAFCC79F1F69AFADCB9E1C4689" 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_FEB8F195F2E2041125D1ADCB9E1BA7AC" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_294B10EAFCC79F1F69AFADCB9E1C4689" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CashAndCashEquivalentsAbstract" xlink:label="loc_us-gaap_CashAndCashEquivalentsAbstract_67F751EDD1BE3A36016594A14F54FEB5" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesTable" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_4E1D63386DADFEEDD70A94A14F554203" 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_67F751EDD1BE3A36016594A14F54FEB5" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_4E1D63386DADFEEDD70A94A14F554203" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_F15AE2C58228487234DC94A14F559D81" 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_4E1D63386DADFEEDD70A94A14F554203" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_F15AE2C58228487234DC94A14F559D81" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_73970CDA415FD4DB96FC94A14F56C532" 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_MajorTypesOfDebtAndEquitySecuritiesAxis_F15AE2C58228487234DC94A14F559D81" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_73970CDA415FD4DB96FC94A14F56C532" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_USTreasurySecuritiesMember" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_2FB30FC546281AFD05C894A14F5787F8" 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_MajorTypesOfDebtAndEquitySecuritiesDomain_73970CDA415FD4DB96FC94A14F56C532" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_2FB30FC546281AFD05C894A14F5787F8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AssetBackedSecuritiesMember" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_5CC429EB98DD425AC6D394A14F581E32" 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_MajorTypesOfDebtAndEquitySecuritiesDomain_73970CDA415FD4DB96FC94A14F56C532" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_5CC429EB98DD425AC6D394A14F581E32" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SovereignDebtSecuritiesMember" xlink:label="loc_us-gaap_SovereignDebtSecuritiesMember_04D21565544773643C7594A14F58753F" 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_MajorTypesOfDebtAndEquitySecuritiesDomain_73970CDA415FD4DB96FC94A14F56C532" xlink:to="loc_us-gaap_SovereignDebtSecuritiesMember_04D21565544773643C7594A14F58753F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MunicipalBondsMember" xlink:label="loc_us-gaap_MunicipalBondsMember_4CDDE105AE206A4A420294A14F5887A8" 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_MajorTypesOfDebtAndEquitySecuritiesDomain_73970CDA415FD4DB96FC94A14F56C532" xlink:to="loc_us-gaap_MunicipalBondsMember_4CDDE105AE206A4A420294A14F5887A8" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_AgencyBondsMember" xlink:label="loc_cgnx_AgencyBondsMember_17DD6DB03A6FF64BBF1C94A14F58725F" 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_MajorTypesOfDebtAndEquitySecuritiesDomain_73970CDA415FD4DB96FC94A14F56C532" xlink:to="loc_cgnx_AgencyBondsMember_17DD6DB03A6FF64BBF1C94A14F58725F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CorporateBondSecuritiesMember" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_ABB924B0640298E33CDD94A14F583BFD" 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_MajorTypesOfDebtAndEquitySecuritiesDomain_73970CDA415FD4DB96FC94A14F56C532" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_ABB924B0640298E33CDD94A14F583BFD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_5BB7C8E7C14789023F5E94A14F593902" 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_4E1D63386DADFEEDD70A94A14F554203" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_5BB7C8E7C14789023F5E94A14F593902" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue_D7716D8286D9D614092C94A14F595B61" 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_5BB7C8E7C14789023F5E94A14F593902" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThanTwelveMonthsFairValue_D7716D8286D9D614092C94A14F595B61" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_9F9EA634200E924278DE94A14F597CEA" 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_5BB7C8E7C14789023F5E94A14F593902" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss_9F9EA634200E924278DE94A14F597CEA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue_EF2769B7B0A01EB60F0B94A14F5AA825" 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_5BB7C8E7C14789023F5E94A14F593902" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionTwelveMonthsOrLongerFairValue_EF2769B7B0A01EB60F0B94A14F5AA825" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_E577E676508A1620EE0594A14F5AAC23" 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_5BB7C8E7C14789023F5E94A14F593902" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPosition12MonthsOrLongerAccumulatedLoss_E577E676508A1620EE0594A14F5AAC23" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_4718E8908DA3CF72CD5094A14F5A4BFC" 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_5BB7C8E7C14789023F5E94A14F593902" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionFairValue_4718E8908DA3CF72CD5094A14F5A4BFC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_F81F90911729169F375D94A14F5A76C7" 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_5BB7C8E7C14789023F5E94A14F593902" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_F81F90911729169F375D94A14F5A76C7" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CashAndCashEquivalentsAbstract" xlink:label="loc_us-gaap_CashAndCashEquivalentsAbstract_106C31C25E3B6FD6712DADCBC5AFA3D9" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesTable" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_96009B6901367D9330D2ADCBC5AFE08C" 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_106C31C25E3B6FD6712DADCBC5AFA3D9" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesTable_96009B6901367D9330D2ADCBC5AFE08C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_B51943541F8A7CAF0BEAADCBC5AFB719" 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_96009B6901367D9330D2ADCBC5AFE08C" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_B51943541F8A7CAF0BEAADCBC5AFB719" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_94A7EB6AA60469412BD7ADCBC5AFC7D8" 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_MajorTypesOfDebtAndEquitySecuritiesAxis_B51943541F8A7CAF0BEAADCBC5AFB719" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_94A7EB6AA60469412BD7ADCBC5AFC7D8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_USTreasurySecuritiesMember" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_764AC5BA889D74EE093FADCBC5B03B5B" 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_MajorTypesOfDebtAndEquitySecuritiesDomain_94A7EB6AA60469412BD7ADCBC5AFC7D8" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_764AC5BA889D74EE093FADCBC5B03B5B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CorporateBondSecuritiesMember" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_17E14741BA955611FF0FADCBC5B02E82" 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_MajorTypesOfDebtAndEquitySecuritiesDomain_94A7EB6AA60469412BD7ADCBC5AFC7D8" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_17E14741BA955611FF0FADCBC5B02E82" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AssetBackedSecuritiesMember" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_34B21BD7F8938BAD71EFADCBC5B076BF" 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_MajorTypesOfDebtAndEquitySecuritiesDomain_94A7EB6AA60469412BD7ADCBC5AFC7D8" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_34B21BD7F8938BAD71EFADCBC5B076BF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SovereignDebtSecuritiesMember" xlink:label="loc_us-gaap_SovereignDebtSecuritiesMember_DF964387E5770754E89EADCBC5B0A105" 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_MajorTypesOfDebtAndEquitySecuritiesDomain_94A7EB6AA60469412BD7ADCBC5AFC7D8" xlink:to="loc_us-gaap_SovereignDebtSecuritiesMember_DF964387E5770754E89EADCBC5B0A105" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_AgencyBondsMember" xlink:label="loc_cgnx_AgencyBondsMember_2E6A5CFB6866A40323EAADCBC5B094CF" 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_MajorTypesOfDebtAndEquitySecuritiesDomain_94A7EB6AA60469412BD7ADCBC5AFC7D8" xlink:to="loc_cgnx_AgencyBondsMember_2E6A5CFB6866A40323EAADCBC5B094CF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MunicipalBondsMember" xlink:label="loc_us-gaap_MunicipalBondsMember_4ACEABA1A60B644953E7ADCBC5B1BF43" 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_MajorTypesOfDebtAndEquitySecuritiesDomain_94A7EB6AA60469412BD7ADCBC5AFC7D8" xlink:to="loc_us-gaap_MunicipalBondsMember_4ACEABA1A60B644953E7ADCBC5B1BF43" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InvestmentTypeAxis" xlink:label="loc_us-gaap_InvestmentTypeAxis_662FCFA535AB0118AC57ADCBC5B12EF9" 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_96009B6901367D9330D2ADCBC5AFE08C" xlink:to="loc_us-gaap_InvestmentTypeAxis_662FCFA535AB0118AC57ADCBC5B12EF9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InvestmentTypeCategorizationMember" xlink:label="loc_us-gaap_InvestmentTypeCategorizationMember_DF53FC6938AD747D63ADADCBC5B131E3" 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_662FCFA535AB0118AC57ADCBC5B12EF9" xlink:to="loc_us-gaap_InvestmentTypeCategorizationMember_DF53FC6938AD747D63ADADCBC5B131E3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShortTermInvestmentsMember" xlink:label="loc_us-gaap_ShortTermInvestmentsMember_664909E91E0AB399E984ADCBC5B1E416" 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_DF53FC6938AD747D63ADADCBC5B131E3" xlink:to="loc_us-gaap_ShortTermInvestmentsMember_664909E91E0AB399E984ADCBC5B1E416" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_LongTermInvestmentsMember" xlink:label="loc_cgnx_LongTermInvestmentsMember_572FE0B275DB3A168DF3ADCBC5B19323" 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_DF53FC6938AD747D63ADADCBC5B131E3" xlink:to="loc_cgnx_LongTermInvestmentsMember_572FE0B275DB3A168DF3ADCBC5B19323" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_D13A87AD90CD5460A0B1ADCBC5B2C9A0" 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_96009B6901367D9330D2ADCBC5AFE08C" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems_D13A87AD90CD5460A0B1ADCBC5B2C9A0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_88280209A8FD20D8BF15ADCBC5B2B073" 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_D13A87AD90CD5460A0B1ADCBC5B2C9A0" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAmortizedCostBasis_88280209A8FD20D8BF15ADCBC5B2B073" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_FD2964B82C0745A90E73ADCBC5B7B95A" 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_D13A87AD90CD5460A0B1ADCBC5B2C9A0" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax_FD2964B82C0745A90E73ADCBC5B7B95A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax" xlink:label="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_D3CDA6B73717980D7918ADCBC5B7B29A" 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_D13A87AD90CD5460A0B1ADCBC5B2C9A0" xlink:to="loc_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax_D3CDA6B73717980D7918ADCBC5B7B29A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecurities" xlink:label="loc_us-gaap_AvailableForSaleSecurities_989F9EF4EB3977B706C4ADCBC5B79BB6" 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_D13A87AD90CD5460A0B1ADCBC5B2C9A0" xlink:to="loc_us-gaap_AvailableForSaleSecurities_989F9EF4EB3977B706C4ADCBC5B79BB6" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CashAndCashEquivalentsAbstract" xlink:label="loc_us-gaap_CashAndCashEquivalentsAbstract_FBDCF0B911461CCEE6E994A1503487E9" xlink:type="locator" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock" xlink:label="loc_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock_6240FE9206648341884B94A15034E81A" 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_FBDCF0B911461CCEE6E994A1503487E9" xlink:to="loc_cgnx_ComponentsOfCashCashEquivalentsAndInvestmentsTableTextBlock_6240FE9206648341884B94A15034E81A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_FDAA2483FF3C92C2447E94A15034CEDE" 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_FBDCF0B911461CCEE6E994A1503487E9" xlink:to="loc_us-gaap_ScheduleOfAvailableForSaleSecuritiesReconciliationTableTextBlock_FDAA2483FF3C92C2447E94A15034CEDE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock_854F221AD0B1B3FD662094A15035F25F" 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_FBDCF0B911461CCEE6E994A1503487E9" xlink:to="loc_us-gaap_ScheduleOfUnrealizedLossOnInvestmentsTableTextBlock_854F221AD0B1B3FD662094A15035F25F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock" xlink:label="loc_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_34B31A610B0086C8389C94A15035B306" 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_FBDCF0B911461CCEE6E994A1503487E9" xlink:to="loc_us-gaap_InvestmentsClassifiedByContractualMaturityDateTableTextBlock_34B31A610B0086C8389C94A15035B306" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract_C77B6486DB5758A91E0CADAE899029B6" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AssetsAbstract" xlink:label="loc_us-gaap_AssetsAbstract_BA3004133DED37689DA1ADAE899043CC" 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_C77B6486DB5758A91E0CADAE899029B6" xlink:to="loc_us-gaap_AssetsAbstract_BA3004133DED37689DA1ADAE899043CC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AssetsCurrentAbstract" xlink:label="loc_us-gaap_AssetsCurrentAbstract_0E9BDA97B3B4125FA696ADAE8990160C" 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_BA3004133DED37689DA1ADAE899043CC" xlink:to="loc_us-gaap_AssetsCurrentAbstract_0E9BDA97B3B4125FA696ADAE8990160C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_077021D6670E09A0CC8DADAE89912630" 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_0E9BDA97B3B4125FA696ADAE8990160C" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_077021D6670E09A0CC8DADAE89912630" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_FE9A82F780D26BF77645ADAE8991FAA6" 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_0E9BDA97B3B4125FA696ADAE8990160C" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecuritiesCurrent_FE9A82F780D26BF77645ADAE8991FAA6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccountsReceivableNetCurrent" xlink:label="loc_us-gaap_AccountsReceivableNetCurrent_D4A9E93F332BC1A42AA3ADAE8991B51B" 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_0E9BDA97B3B4125FA696ADAE8990160C" xlink:to="loc_us-gaap_AccountsReceivableNetCurrent_D4A9E93F332BC1A42AA3ADAE8991B51B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_UnbilledReceivablesCurrent" xlink:label="loc_us-gaap_UnbilledReceivablesCurrent_A318295307AD58BA1ABDADAE8991D3C7" 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_0E9BDA97B3B4125FA696ADAE8990160C" xlink:to="loc_us-gaap_UnbilledReceivablesCurrent_A318295307AD58BA1ABDADAE8991D3C7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaap_InventoryNet_47ADAC9B1EC42D503231ADAE89926956" 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_0E9BDA97B3B4125FA696ADAE8990160C" xlink:to="loc_us-gaap_InventoryNet_47ADAC9B1EC42D503231ADAE89926956" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PrepaidExpenseAndOtherAssetsCurrent" xlink:label="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_57DBA7F0D5FDBCD7D0F2ADAE899200C9" 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_0E9BDA97B3B4125FA696ADAE8990160C" xlink:to="loc_us-gaap_PrepaidExpenseAndOtherAssetsCurrent_57DBA7F0D5FDBCD7D0F2ADAE899200C9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AssetsCurrent" xlink:label="loc_us-gaap_AssetsCurrent_18E451200A1E9D976E0EADAE8992A9FB" 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_0E9BDA97B3B4125FA696ADAE8990160C" xlink:to="loc_us-gaap_AssetsCurrent_18E451200A1E9D976E0EADAE8992A9FB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LongTermInvestments" xlink:label="loc_us-gaap_LongTermInvestments_6D4363FBDE96E1A81078ADAE89922B5B" 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_BA3004133DED37689DA1ADAE899043CC" xlink:to="loc_us-gaap_LongTermInvestments_6D4363FBDE96E1A81078ADAE89922B5B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PropertyPlantAndEquipmentNet" xlink:label="loc_us-gaap_PropertyPlantAndEquipmentNet_D873293B80384214FC1CADAE8992A672" 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_BA3004133DED37689DA1ADAE899043CC" xlink:to="loc_us-gaap_PropertyPlantAndEquipmentNet_D873293B80384214FC1CADAE8992A672" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_Goodwill" xlink:label="loc_us-gaap_Goodwill_3DCE317B1AF5A0C5443CADAE89927CEA" 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_AssetsAbstract_BA3004133DED37689DA1ADAE899043CC" xlink:to="loc_us-gaap_Goodwill_3DCE317B1AF5A0C5443CADAE89927CEA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_3BD7043132583A25E629ADAE89920F57" 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_BA3004133DED37689DA1ADAE899043CC" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_3BD7043132583A25E629ADAE89920F57" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DeferredTaxAssetsNetNoncurrent" xlink:label="loc_us-gaap_DeferredTaxAssetsNetNoncurrent_6F0B69213801CD775EEEADAE89932FEC" 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_BA3004133DED37689DA1ADAE899043CC" xlink:to="loc_us-gaap_DeferredTaxAssetsNetNoncurrent_6F0B69213801CD775EEEADAE89932FEC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherAssetsNoncurrent" xlink:label="loc_us-gaap_OtherAssetsNoncurrent_5BC14CEEBD095099E233ADAE89933E3D" 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_BA3004133DED37689DA1ADAE899043CC" xlink:to="loc_us-gaap_OtherAssetsNoncurrent_5BC14CEEBD095099E233ADAE89933E3D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_Assets" xlink:label="loc_us-gaap_Assets_29D272E9EF84F388CB16ADAE8993ABF9" xlink:type="locator" />
    <link:presentationArc order="8" 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_BA3004133DED37689DA1ADAE899043CC" xlink:to="loc_us-gaap_Assets_29D272E9EF84F388CB16ADAE8993ABF9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquityAbstract" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_6BD7E62EA0BA1F8B52D3ADAE89934AA7" 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_C77B6486DB5758A91E0CADAE899029B6" xlink:to="loc_us-gaap_LiabilitiesAndStockholdersEquityAbstract_6BD7E62EA0BA1F8B52D3ADAE89934AA7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LiabilitiesCurrentAbstract" xlink:label="loc_us-gaap_LiabilitiesCurrentAbstract_AB8395BE68C075A4A836ADAE899382F0" 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_6BD7E62EA0BA1F8B52D3ADAE89934AA7" xlink:to="loc_us-gaap_LiabilitiesCurrentAbstract_AB8395BE68C075A4A836ADAE899382F0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccountsPayableCurrent" xlink:label="loc_us-gaap_AccountsPayableCurrent_03B01DE161EC6E738425ADAE8993135A" 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_AB8395BE68C075A4A836ADAE899382F0" xlink:to="loc_us-gaap_AccountsPayableCurrent_03B01DE161EC6E738425ADAE8993135A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccruedLiabilitiesCurrent" xlink:label="loc_us-gaap_AccruedLiabilitiesCurrent_90DF76130405B7D1C9B2ADAE89947567" 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_AB8395BE68C075A4A836ADAE899382F0" xlink:to="loc_us-gaap_AccruedLiabilitiesCurrent_90DF76130405B7D1C9B2ADAE89947567" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccruedIncomeTaxesCurrent" xlink:label="loc_us-gaap_AccruedIncomeTaxesCurrent_DCCE5A57F0A67DA655C2ADAE89949761" 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_AB8395BE68C075A4A836ADAE899382F0" xlink:to="loc_us-gaap_AccruedIncomeTaxesCurrent_DCCE5A57F0A67DA655C2ADAE89949761" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DeferredRevenueAndCreditsCurrent" xlink:label="loc_us-gaap_DeferredRevenueAndCreditsCurrent_2AA0E3A8C2DF6EB368F5ADAE8994D467" 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_AB8395BE68C075A4A836ADAE899382F0" xlink:to="loc_us-gaap_DeferredRevenueAndCreditsCurrent_2AA0E3A8C2DF6EB368F5ADAE8994D467" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LiabilitiesCurrent" xlink:label="loc_us-gaap_LiabilitiesCurrent_982A7EC9390614C85550ADAE8994EE95" 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_LiabilitiesCurrentAbstract_AB8395BE68C075A4A836ADAE899382F0" xlink:to="loc_us-gaap_LiabilitiesCurrent_982A7EC9390614C85550ADAE8994EE95" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DeferredIncomeTaxLiabilitiesNet" xlink:label="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_19EAD80712DA9CADCE61ADAE899496E2" 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_6BD7E62EA0BA1F8B52D3ADAE89934AA7" xlink:to="loc_us-gaap_DeferredIncomeTaxLiabilitiesNet_19EAD80712DA9CADCE61ADAE899496E2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:label="loc_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_FD66455A9E0FC9B160F8ADAE89945379" 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_LiabilitiesAndStockholdersEquityAbstract_6BD7E62EA0BA1F8B52D3ADAE89934AA7" xlink:to="loc_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_FD66455A9E0FC9B160F8ADAE89945379" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccruedIncomeTaxes" xlink:label="loc_us-gaap_AccruedIncomeTaxes_3518A36EE92DAC910F25ADAE8995A00B" 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_LiabilitiesAndStockholdersEquityAbstract_6BD7E62EA0BA1F8B52D3ADAE89934AA7" xlink:to="loc_us-gaap_AccruedIncomeTaxes_3518A36EE92DAC910F25ADAE8995A00B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherLiabilitiesNoncurrent" xlink:label="loc_us-gaap_OtherLiabilitiesNoncurrent_BED5C7703ED94B59944EADAE899570F5" 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_6BD7E62EA0BA1F8B52D3ADAE89934AA7" xlink:to="loc_us-gaap_OtherLiabilitiesNoncurrent_BED5C7703ED94B59944EADAE899570F5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_Liabilities" xlink:label="loc_us-gaap_Liabilities_24DFFE5B179FDAA7954FADAE89958256" 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_LiabilitiesAndStockholdersEquityAbstract_6BD7E62EA0BA1F8B52D3ADAE89934AA7" xlink:to="loc_us-gaap_Liabilities_24DFFE5B179FDAA7954FADAE89958256" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockholdersEquityAbstract" xlink:label="loc_us-gaap_StockholdersEquityAbstract_2AE34060CFBB42F5987AADAE8995EE93" 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_LiabilitiesAndStockholdersEquityAbstract_6BD7E62EA0BA1F8B52D3ADAE89934AA7" xlink:to="loc_us-gaap_StockholdersEquityAbstract_2AE34060CFBB42F5987AADAE8995EE93" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CommonStockValueOutstanding" xlink:label="loc_us-gaap_CommonStockValueOutstanding_B979C224EF990D79A06DADAE8995AB11" 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_2AE34060CFBB42F5987AADAE8995EE93" xlink:to="loc_us-gaap_CommonStockValueOutstanding_B979C224EF990D79A06DADAE8995AB11" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AdditionalPaidInCapitalCommonStock" xlink:label="loc_us-gaap_AdditionalPaidInCapitalCommonStock_322516DA8A64FBB3D5D2ADAE899666CD" 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_2AE34060CFBB42F5987AADAE8995EE93" xlink:to="loc_us-gaap_AdditionalPaidInCapitalCommonStock_322516DA8A64FBB3D5D2ADAE899666CD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_RetainedEarningsAccumulatedDeficit" xlink:label="loc_us-gaap_RetainedEarningsAccumulatedDeficit_B32500FF2E3331CFDFBDADAE89965DBE" 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_2AE34060CFBB42F5987AADAE8995EE93" xlink:to="loc_us-gaap_RetainedEarningsAccumulatedDeficit_B32500FF2E3331CFDFBDADAE89965DBE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_76E9EAD80942CA8C04F1ADAE8996AE3B" 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_2AE34060CFBB42F5987AADAE8995EE93" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeLossNetOfTax_76E9EAD80942CA8C04F1ADAE8996AE3B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaap_StockholdersEquity_789047C3BA5BC2FFCD0CADAE89962E1C" 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_2AE34060CFBB42F5987AADAE8995EE93" xlink:to="loc_us-gaap_StockholdersEquity_789047C3BA5BC2FFCD0CADAE89962E1C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LiabilitiesAndStockholdersEquity" xlink:label="loc_us-gaap_LiabilitiesAndStockholdersEquity_7F5FBBBFF94EE7579A9FADAE89968EAB" xlink:type="locator" />
    <link:presentationArc order="8" 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_6BD7E62EA0BA1F8B52D3ADAE89934AA7" xlink:to="loc_us-gaap_LiabilitiesAndStockholdersEquity_7F5FBBBFF94EE7579A9FADAE89968EAB" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StatementOfFinancialPositionAbstract" xlink:label="loc_us-gaap_StatementOfFinancialPositionAbstract_34894E216FC15A6063D094A14F7DD2FD" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent" xlink:label="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_2BDB2A8CE1065B1E221594A14F7E1594" 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_34894E216FC15A6063D094A14F7DD2FD" xlink:to="loc_us-gaap_AllowanceForDoubtfulAccountsReceivableCurrent_2BDB2A8CE1065B1E221594A14F7E1594" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CommonStockParOrStatedValuePerShare" xlink:label="loc_us-gaap_CommonStockParOrStatedValuePerShare_E4891EBE71A6CDD67F3D94A14F7E2CD3" 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_34894E216FC15A6063D094A14F7DD2FD" xlink:to="loc_us-gaap_CommonStockParOrStatedValuePerShare_E4891EBE71A6CDD67F3D94A14F7E2CD3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CommonStockSharesAuthorized" xlink:label="loc_us-gaap_CommonStockSharesAuthorized_C223A62FD1D59C99CFCE94A14F7E9CBE" 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_34894E216FC15A6063D094A14F7DD2FD" xlink:to="loc_us-gaap_CommonStockSharesAuthorized_C223A62FD1D59C99CFCE94A14F7E9CBE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaap_CommonStockSharesIssued_5336C9C06A7A1727E9EF94A14F7EBD41" 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_34894E216FC15A6063D094A14F7DD2FD" xlink:to="loc_us-gaap_CommonStockSharesIssued_5336C9C06A7A1727E9EF94A14F7EBD41" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract_E6B37C347C03DD23734DB90793950B80" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StatementTable" xlink:label="loc_us-gaap_StatementTable_25D2182AFAB3625F0F84B907939824D9" 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_E6B37C347C03DD23734DB90793950B80" xlink:to="loc_us-gaap_StatementTable_25D2182AFAB3625F0F84B907939824D9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StatementEquityComponentsAxis" xlink:label="loc_us-gaap_StatementEquityComponentsAxis_80D4E2F91DDA8363C64BB9079398B009" 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_25D2182AFAB3625F0F84B907939824D9" xlink:to="loc_us-gaap_StatementEquityComponentsAxis_80D4E2F91DDA8363C64BB9079398B009" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EquityComponentDomain" xlink:label="loc_us-gaap_EquityComponentDomain_29E49AC45DBC1EACD50FB9079398E72F" 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_80D4E2F91DDA8363C64BB9079398B009" xlink:to="loc_us-gaap_EquityComponentDomain_29E49AC45DBC1EACD50FB9079398E72F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CommonStockMember" xlink:label="loc_us-gaap_CommonStockMember_9BE23C8118B56147A1C6B90793988267" 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_29E49AC45DBC1EACD50FB9079398E72F" xlink:to="loc_us-gaap_CommonStockMember_9BE23C8118B56147A1C6B90793988267" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AdditionalPaidInCapitalMember" xlink:label="loc_us-gaap_AdditionalPaidInCapitalMember_254CB53D5D9254ACF25EB9079399D216" 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_29E49AC45DBC1EACD50FB9079398E72F" xlink:to="loc_us-gaap_AdditionalPaidInCapitalMember_254CB53D5D9254ACF25EB9079399D216" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_RetainedEarningsMember" xlink:label="loc_us-gaap_RetainedEarningsMember_7D2F4A4A1B0E85B54585B90793998BD9" 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_29E49AC45DBC1EACD50FB9079398E72F" xlink:to="loc_us-gaap_RetainedEarningsMember_7D2F4A4A1B0E85B54585B90793998BD9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccumulatedOtherComprehensiveIncomeMember" xlink:label="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_CEFB5DF6DB4472DEC8D5B9079399FA37" 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_29E49AC45DBC1EACD50FB9079398E72F" xlink:to="loc_us-gaap_AccumulatedOtherComprehensiveIncomeMember_CEFB5DF6DB4472DEC8D5B9079399FA37" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StatementLineItems" xlink:label="loc_us-gaap_StatementLineItems_CDDEC2DC1BA5ED49F1D3B9079399FF4A" 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_25D2182AFAB3625F0F84B907939824D9" xlink:to="loc_us-gaap_StatementLineItems_CDDEC2DC1BA5ED49F1D3B9079399FF4A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInStockholdersEquityRollForward" xlink:label="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_D74837379EBA0EAEC02AB907939AC260" 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_CDDEC2DC1BA5ED49F1D3B9079399FF4A" xlink:to="loc_us-gaap_IncreaseDecreaseInStockholdersEquityRollForward_D74837379EBA0EAEC02AB907939AC260" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaap_CommonStockSharesIssued_0F63C0E87BCB8EFA40D4B907939AEF8A" 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_D74837379EBA0EAEC02AB907939AC260" xlink:to="loc_us-gaap_CommonStockSharesIssued_0F63C0E87BCB8EFA40D4B907939AEF8A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaap_StockholdersEquity_348E081D45BF0BFA1E58B907939A6483" 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_D74837379EBA0EAEC02AB907939AC260" xlink:to="loc_us-gaap_StockholdersEquity_348E081D45BF0BFA1E58B907939A6483" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_CD497B7CA9F77FAE2F3BB907939A00AB" 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_D74837379EBA0EAEC02AB907939AC260" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardSharesIssuedInPeriod_CD497B7CA9F77FAE2F3BB907939A00AB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised" xlink:label="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_7AB8D3964D01DFE38979B907939B55C4" 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_D74837379EBA0EAEC02AB907939AC260" xlink:to="loc_us-gaap_StockIssuedDuringPeriodValueStockOptionsExercised_7AB8D3964D01DFE38979B907939B55C4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodShares_0FD1418E0FDD131EEBD9B907939B5226" 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_D74837379EBA0EAEC02AB907939AC260" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodShares_0FD1418E0FDD131EEBD9B907939B5226" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodValue_278F38DE4A9225C9A66EB907939B97F7" 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_D74837379EBA0EAEC02AB907939AC260" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodValue_278F38DE4A9225C9A66EB907939B97F7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue" xlink:label="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_5E44C4DA09158A1E62F8B907939BDE58" 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_D74837379EBA0EAEC02AB907939AC260" xlink:to="loc_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue_5E44C4DA09158A1E62F8B907939BDE58" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DividendsCash" xlink:label="loc_us-gaap_DividendsCash_CAC498A92EA2FD45B910B907939B1CB4" 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_D74837379EBA0EAEC02AB907939AC260" xlink:to="loc_us-gaap_DividendsCash_CAC498A92EA2FD45B910B907939B1CB4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption" xlink:label="loc_us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption_2764EBEAD6803A175683B907939C4A6B" 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_D74837379EBA0EAEC02AB907939AC260" xlink:to="loc_us-gaap_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption_2764EBEAD6803A175683B907939C4A6B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_BD059AA7828906F1DC01B907939C64F5" 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_D74837379EBA0EAEC02AB907939AC260" xlink:to="loc_us-gaap_NetIncomeLoss_BD059AA7828906F1DC01B907939C64F5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_E14CBD263F7F03B18920B907939CF40F" 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_D74837379EBA0EAEC02AB907939AC260" xlink:to="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_E14CBD263F7F03B18920B907939CF40F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_4D678267E19586E2C8E0B907939CFD3F" 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_D74837379EBA0EAEC02AB907939AC260" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_4D678267E19586E2C8E0B907939CFD3F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_D1D22D363623F19E87F5B907939CD907" 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_D74837379EBA0EAEC02AB907939AC260" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_D1D22D363623F19E87F5B907939CD907" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CommonStockSharesIssued" xlink:label="loc_us-gaap_CommonStockSharesIssued_CE5A392FF5422F5A705FB907939CA0DB" 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_D74837379EBA0EAEC02AB907939AC260" xlink:to="loc_us-gaap_CommonStockSharesIssued_CE5A392FF5422F5A705FB907939CA0DB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockholdersEquity" xlink:label="loc_us-gaap_StockholdersEquity_6D82D37FAECC78D8B28CB907939D9E6B" 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_D74837379EBA0EAEC02AB907939AC260" xlink:to="loc_us-gaap_StockholdersEquity_6D82D37FAECC78D8B28CB907939D9E6B" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StatementOfStockholdersEquityAbstract" xlink:label="loc_us-gaap_StatementOfStockholdersEquityAbstract_C7A8F15D357908723036B43FCCF4E70A" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_A0B3EC1A54FBD05EBB01B43FCCF7ABE1" 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_C7A8F15D357908723036B43FCCF4E70A" xlink:to="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_A0B3EC1A54FBD05EBB01B43FCCF7ABE1" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StatementOfCashFlowsAbstract" xlink:label="loc_us-gaap_StatementOfCashFlowsAbstract_1E76753D0DEC76A3A3DDA9F25E5F6D6E" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_E8CB06785D2BBF4AB56BA9F25E5F5EDD" 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_1E76753D0DEC76A3A3DDA9F25E5F6D6E" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivitiesAbstract_E8CB06785D2BBF4AB56BA9F25E5F5EDD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_6A4497738A7911FEE139A9F25E6066FA" 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_E8CB06785D2BBF4AB56BA9F25E5F5EDD" xlink:to="loc_us-gaap_NetIncomeLoss_6A4497738A7911FEE139A9F25E6066FA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract" xlink:label="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_49BB111AAB8AB5269087A9F25E607F84" 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_E8CB06785D2BBF4AB56BA9F25E5F5EDD" xlink:to="loc_us-gaap_AdjustmentsToReconcileNetIncomeLossToCashProvidedByUsedInOperatingActivitiesAbstract_49BB111AAB8AB5269087A9F25E607F84" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockOptionPlanExpense" xlink:label="loc_us-gaap_StockOptionPlanExpense_668FB0B19142E6CB036AA9F25E608FB9" 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_49BB111AAB8AB5269087A9F25E607F84" xlink:to="loc_us-gaap_StockOptionPlanExpense_668FB0B19142E6CB036AA9F25E608FB9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_Depreciation" xlink:label="loc_us-gaap_Depreciation_B92D683F25840F3A0F95A9F25E606CED" 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_49BB111AAB8AB5269087A9F25E607F84" xlink:to="loc_us-gaap_Depreciation_B92D683F25840F3A0F95A9F25E606CED" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AmortizationOfIntangibleAssets" xlink:label="loc_us-gaap_AmortizationOfIntangibleAssets_CFB39D66F6AD13B6AB44A9F25E618B5C" 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_49BB111AAB8AB5269087A9F25E607F84" xlink:to="loc_us-gaap_AmortizationOfIntangibleAssets_CFB39D66F6AD13B6AB44A9F25E618B5C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments" xlink:label="loc_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_AF1B2519B7D3B8009EA2A9F25E6118FE" 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_49BB111AAB8AB5269087A9F25E607F84" xlink:to="loc_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments_AF1B2519B7D3B8009EA2A9F25E6118FE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_GainLossOnSaleOfInvestments" xlink:label="loc_us-gaap_GainLossOnSaleOfInvestments_421E66A4CD65FE7C3D9FA9F25E61E024" 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_49BB111AAB8AB5269087A9F25E607F84" xlink:to="loc_us-gaap_GainLossOnSaleOfInvestments_421E66A4CD65FE7C3D9FA9F25E61E024" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_CA68EA8E635CA060827AA9F25E61EBA5" 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_49BB111AAB8AB5269087A9F25E607F84" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationArrangementsChangeInAmountOfContingentConsiderationLiability1_CA68EA8E635CA060827AA9F25E61EBA5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInDeferredIncomeTaxes" xlink:label="loc_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_59DAA570C5F13ADDECF7A9F25E61F663" 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_49BB111AAB8AB5269087A9F25E607F84" xlink:to="loc_us-gaap_IncreaseDecreaseInDeferredIncomeTaxes_59DAA570C5F13ADDECF7A9F25E61F663" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsReceivable" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_135491FBC7A8606D0667A9F25E61D0C7" 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_49BB111AAB8AB5269087A9F25E607F84" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsReceivable_135491FBC7A8606D0667A9F25E61D0C7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInUnbilledReceivables" xlink:label="loc_us-gaap_IncreaseDecreaseInUnbilledReceivables_9B48177F592DE33A0E71A9F25E61C5AD" 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_49BB111AAB8AB5269087A9F25E607F84" xlink:to="loc_us-gaap_IncreaseDecreaseInUnbilledReceivables_9B48177F592DE33A0E71A9F25E61C5AD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInInventories" xlink:label="loc_us-gaap_IncreaseDecreaseInInventories_DA6A78FB0E73FD68BB17A9F25E6266EE" 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_49BB111AAB8AB5269087A9F25E607F84" xlink:to="loc_us-gaap_IncreaseDecreaseInInventories_DA6A78FB0E73FD68BB17A9F25E6266EE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets" xlink:label="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_8594A053A5AA97B2608BA9F25E622F14" 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_49BB111AAB8AB5269087A9F25E607F84" xlink:to="loc_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets_8594A053A5AA97B2608BA9F25E622F14" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInAccountsPayable" xlink:label="loc_us-gaap_IncreaseDecreaseInAccountsPayable_C7BEF4D6A9728D01167BA9F25E6298DC" 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_49BB111AAB8AB5269087A9F25E607F84" xlink:to="loc_us-gaap_IncreaseDecreaseInAccountsPayable_C7BEF4D6A9728D01167BA9F25E6298DC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedLiabilities" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_24C841F6A419138251DAA9F25E62226F" 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_49BB111AAB8AB5269087A9F25E607F84" xlink:to="loc_us-gaap_IncreaseDecreaseInAccruedLiabilities_24C841F6A419138251DAA9F25E62226F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInAccruedTaxesPayable" xlink:label="loc_us-gaap_IncreaseDecreaseInAccruedTaxesPayable_35D90CF67306B3FB93F1A9F25E62A648" 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_49BB111AAB8AB5269087A9F25E607F84" xlink:to="loc_us-gaap_IncreaseDecreaseInAccruedTaxesPayable_35D90CF67306B3FB93F1A9F25E62A648" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInDeferredRevenue" xlink:label="loc_us-gaap_IncreaseDecreaseInDeferredRevenue_BF72934C91BBF08E8B53A9F25E625BFE" 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_49BB111AAB8AB5269087A9F25E607F84" xlink:to="loc_us-gaap_IncreaseDecreaseInDeferredRevenue_BF72934C91BBF08E8B53A9F25E625BFE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet" xlink:label="loc_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_462B3883E37DBD5483E1A9F25E62A8E8" 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_49BB111AAB8AB5269087A9F25E607F84" xlink:to="loc_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet_462B3883E37DBD5483E1A9F25E62A8E8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NetCashProvidedByUsedInOperatingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_CBA4ACE382744196BD6EA9F25E637B08" 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_E8CB06785D2BBF4AB56BA9F25E5F5EDD" xlink:to="loc_us-gaap_NetCashProvidedByUsedInOperatingActivities_CBA4ACE382744196BD6EA9F25E637B08" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_940143C2BF0B68C49250A9F25E632E71" 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_1E76753D0DEC76A3A3DDA9F25E5F6D6E" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivitiesAbstract_940143C2BF0B68C49250A9F25E632E71" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PaymentsToAcquireInvestments" xlink:label="loc_us-gaap_PaymentsToAcquireInvestments_35E9AE77355CD2867842A9F25E63C48A" 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_940143C2BF0B68C49250A9F25E632E71" xlink:to="loc_us-gaap_PaymentsToAcquireInvestments_35E9AE77355CD2867842A9F25E63C48A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments" xlink:label="loc_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_B150B614D04269FC1216A9F25E63F2AB" 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_940143C2BF0B68C49250A9F25E632E71" xlink:to="loc_us-gaap_ProceedsFromSaleMaturityAndCollectionsOfInvestments_B150B614D04269FC1216A9F25E63F2AB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PaymentsToAcquirePropertyPlantAndEquipment" xlink:label="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_8E1EBE3514F9B93B4B8EA9F25E63701B" 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_940143C2BF0B68C49250A9F25E632E71" xlink:to="loc_us-gaap_PaymentsToAcquirePropertyPlantAndEquipment_8E1EBE3514F9B93B4B8EA9F25E63701B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired" xlink:label="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_15A26AB50887495E6A98A9F25E64CC72" 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_NetCashProvidedByUsedInInvestingActivitiesAbstract_940143C2BF0B68C49250A9F25E632E71" xlink:to="loc_us-gaap_PaymentsToAcquireBusinessesNetOfCashAcquired_15A26AB50887495E6A98A9F25E64CC72" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_PaymentsForDivestitureofBusinesses" xlink:label="loc_cgnx_PaymentsForDivestitureofBusinesses_D5F215F093B9A8A2E8D8A9F25E64084A" 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_NetCashProvidedByUsedInInvestingActivitiesAbstract_940143C2BF0B68C49250A9F25E632E71" xlink:to="loc_cgnx_PaymentsForDivestitureofBusinesses_D5F215F093B9A8A2E8D8A9F25E64084A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NetCashProvidedByUsedInInvestingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_7200F7546E0D46933E38A9F25E646D22" 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_NetCashProvidedByUsedInInvestingActivitiesAbstract_940143C2BF0B68C49250A9F25E632E71" xlink:to="loc_us-gaap_NetCashProvidedByUsedInInvestingActivities_7200F7546E0D46933E38A9F25E646D22" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_1F0CFD634937550C9574A9F25E64AC8D" 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_1E76753D0DEC76A3A3DDA9F25E5F6D6E" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivitiesAbstract_1F0CFD634937550C9574A9F25E64AC8D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions" xlink:label="loc_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_352A6F0770281258D87DA9F25E640CBF" 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_1F0CFD634937550C9574A9F25E64AC8D" xlink:to="loc_us-gaap_ProceedsFromIssuanceOfSharesUnderIncentiveAndShareBasedCompensationPlansIncludingStockOptions_352A6F0770281258D87DA9F25E640CBF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PaymentsForRepurchaseOfCommonStock" xlink:label="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_285A1950DA67BADEE673A9F25E6413B8" 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_1F0CFD634937550C9574A9F25E64AC8D" xlink:to="loc_us-gaap_PaymentsForRepurchaseOfCommonStock_285A1950DA67BADEE673A9F25E6413B8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PaymentsOfDividendsCommonStock" xlink:label="loc_us-gaap_PaymentsOfDividendsCommonStock_8AB57F73A42A247F2F9AA9F25E65BA86" 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_1F0CFD634937550C9574A9F25E64AC8D" xlink:to="loc_us-gaap_PaymentsOfDividendsCommonStock_8AB57F73A42A247F2F9AA9F25E65BA86" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_Paymentofcontingentconsideration" xlink:label="loc_cgnx_Paymentofcontingentconsideration_FD4755F63C2760D540F2A9F25E6560FD" 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_1F0CFD634937550C9574A9F25E64AC8D" xlink:to="loc_cgnx_Paymentofcontingentconsideration_FD4755F63C2760D540F2A9F25E6560FD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NetCashProvidedByUsedInFinancingActivities" xlink:label="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_C8F5991D819AE3CDF7B0A9F25E65E43A" 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_1F0CFD634937550C9574A9F25E64AC8D" xlink:to="loc_us-gaap_NetCashProvidedByUsedInFinancingActivities_C8F5991D819AE3CDF7B0A9F25E65E43A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents" xlink:label="loc_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents_2C6FF52C58836251B205A9F25E6563C2" 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_1E76753D0DEC76A3A3DDA9F25E5F6D6E" xlink:to="loc_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents_2C6FF52C58836251B205A9F25E6563C2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease" xlink:label="loc_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_DB3F140F7EEE255B054CA9F25E656EF4" 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_1E76753D0DEC76A3A3DDA9F25E5F6D6E" xlink:to="loc_us-gaap_CashAndCashEquivalentsPeriodIncreaseDecrease_DB3F140F7EEE255B054CA9F25E656EF4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_2E8DFE9E91C4B669CAAEA9F25E65F2E2" 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_1E76753D0DEC76A3A3DDA9F25E5F6D6E" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_2E8DFE9E91C4B669CAAEA9F25E65F2E2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CashAndCashEquivalentsAtCarryingValue" xlink:label="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_2DF0645726838F056906A9F25E651352" 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_1E76753D0DEC76A3A3DDA9F25E5F6D6E" xlink:to="loc_us-gaap_CashAndCashEquivalentsAtCarryingValue_2DF0645726838F056906A9F25E651352" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:label="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_5EF338C2025BE8029BCAA9F25E89E989" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_7CB3A7187D25E3027486A9F25E897A99" 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_5EF338C2025BE8029BCAA9F25E89E989" xlink:to="loc_us-gaap_NetIncomeLoss_7CB3A7187D25E3027486A9F25E897A99" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTaxAbstract" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_D6E2DB8EF6EBD5FC86A4A9F25E891B50" 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_5EF338C2025BE8029BCAA9F25E89E989" xlink:to="loc_us-gaap_ComprehensiveIncomeNetOfTaxAbstract_D6E2DB8EF6EBD5FC86A4A9F25E891B50" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_CashflowshedgesAbstract" xlink:label="loc_cgnx_CashflowshedgesAbstract_2610908D0943EE2CBF08A9F25E896F27" 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_D6E2DB8EF6EBD5FC86A4A9F25E891B50" xlink:to="loc_cgnx_CashflowshedgesAbstract_2610908D0943EE2CBF08A9F25E896F27" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax_320F858F1E55BE47519AA9F25E8A4953" 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_cgnx_CashflowshedgesAbstract_2610908D0943EE2CBF08A9F25E896F27" xlink:to="loc_us-gaap_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax_320F858F1E55BE47519AA9F25E8A4953" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_C116F4D2CB9ABD2E65B8A9F25E8A8497" 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_cgnx_CashflowshedgesAbstract_2610908D0943EE2CBF08A9F25E896F27" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_C116F4D2CB9ABD2E65B8A9F25E8A8497" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax_ECA1811E59B6F479748EA9F25E8ADE1B" 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_cgnx_CashflowshedgesAbstract_2610908D0943EE2CBF08A9F25E896F27" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax_ECA1811E59B6F479748EA9F25E8ADE1B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_66D0686EBABCCD73BB34A9F25E8AF79A" 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_D6E2DB8EF6EBD5FC86A4A9F25E891B50" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract_66D0686EBABCCD73BB34A9F25E8AF79A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_60E909B3E33D7D1940C5A9F25E8A6730" 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_66D0686EBABCCD73BB34A9F25E8AF79A" xlink:to="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodNetOfTax_60E909B3E33D7D1940C5A9F25E8A6730" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_042D359F30DA1A6A83DDA9F25E8B405F" 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_66D0686EBABCCD73BB34A9F25E8AF79A" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax_042D359F30DA1A6A83DDA9F25E8B405F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent" xlink:label="loc_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_3FBADB9C6209FE8AC2D7A9F25E8B7916" 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_66D0686EBABCCD73BB34A9F25E8AF79A" xlink:to="loc_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent_3FBADB9C6209FE8AC2D7A9F25E8B7916" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_CurrencytranslationadjustmentsAbstract" xlink:label="loc_cgnx_CurrencytranslationadjustmentsAbstract_5F8D564E7D49DABA0EA5A9F25E8BAF55" 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_D6E2DB8EF6EBD5FC86A4A9F25E891B50" xlink:to="loc_cgnx_CurrencytranslationadjustmentsAbstract_5F8D564E7D49DABA0EA5A9F25E8BAF55" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_D0F7C54FD7AB4603AC18A9F25E8BAA5F" 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_5F8D564E7D49DABA0EA5A9F25E8BAF55" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax_D0F7C54FD7AB4603AC18A9F25E8BAA5F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_1ED75FE98F12649E7CD7A9F25E8BE45B" 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_D6E2DB8EF6EBD5FC86A4A9F25E891B50" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent_1ED75FE98F12649E7CD7A9F25E8BE45B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ComprehensiveIncomeNetOfTax" xlink:label="loc_us-gaap_ComprehensiveIncomeNetOfTax_A94D499998E965551F2EA9F25E8CB0F3" 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_5EF338C2025BE8029BCAA9F25E89E989" xlink:to="loc_us-gaap_ComprehensiveIncomeNetOfTax_A94D499998E965551F2EA9F25E8CB0F3" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract" xlink:label="loc_us-gaap_StatementOfIncomeAndComprehensiveIncomeAbstract_44E6E9CA43C3787EE2B194A150BA1B50" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax_19369CEF9769DD8760F794A150BA9736" 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_44E6E9CA43C3787EE2B194A150BA1B50" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesTax_19369CEF9769DD8760F794A150BA9736" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_6BB26D35DBFB4AA6265194A150BAE715" 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_44E6E9CA43C3787EE2B194A150BA1B50" xlink:to="loc_us-gaap_OtherComprehensiveIncomeUnrealizedHoldingGainLossOnSecuritiesArisingDuringPeriodTax_6BB26D35DBFB4AA6265194A150BAE715" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax_7C004BABF38F620BF2FC94A150BAB7A7" 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_44E6E9CA43C3787EE2B194A150BA1B50" xlink:to="loc_us-gaap_OtherComprehensiveIncomeForeignCurrencyTranslationGainLossArisingDuringPeriodTax_7C004BABF38F620BF2FC94A150BAB7A7" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeStatementAbstract" xlink:label="loc_us-gaap_IncomeStatementAbstract_22A4DEBF2DAB7B19AC50ADCCEC3FA536" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SalesRevenueNet" xlink:label="loc_us-gaap_SalesRevenueNet_6CC279813D36F907EAA4ADCCEC3F0198" 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_22A4DEBF2DAB7B19AC50ADCCEC3FA536" xlink:to="loc_us-gaap_SalesRevenueNet_6CC279813D36F907EAA4ADCCEC3F0198" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CostOfGoodsAndServicesSold" xlink:label="loc_us-gaap_CostOfGoodsAndServicesSold_81319E1BA43FBE51E125ADCCEC403388" 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_22A4DEBF2DAB7B19AC50ADCCEC3FA536" xlink:to="loc_us-gaap_CostOfGoodsAndServicesSold_81319E1BA43FBE51E125ADCCEC403388" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_GrossProfit" xlink:label="loc_us-gaap_GrossProfit_8D1567A0928E61A9C1E7ADCCEC407884" 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_22A4DEBF2DAB7B19AC50ADCCEC3FA536" xlink:to="loc_us-gaap_GrossProfit_8D1567A0928E61A9C1E7ADCCEC407884" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ResearchAndDevelopmentExpense" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpense_AF7C9A3871EE5B4E8077ADCCEC401595" 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_22A4DEBF2DAB7B19AC50ADCCEC3FA536" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpense_AF7C9A3871EE5B4E8077ADCCEC401595" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SellingGeneralAndAdministrativeExpense" xlink:label="loc_us-gaap_SellingGeneralAndAdministrativeExpense_1E3188EEB11F7854BA33ADCCEC40AD32" 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_22A4DEBF2DAB7B19AC50ADCCEC3FA536" xlink:to="loc_us-gaap_SellingGeneralAndAdministrativeExpense_1E3188EEB11F7854BA33ADCCEC40AD32" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OperatingIncomeLoss" xlink:label="loc_us-gaap_OperatingIncomeLoss_3B4D7C0FB0DF3475B85BADCCEC401C0C" 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_22A4DEBF2DAB7B19AC50ADCCEC3FA536" xlink:to="loc_us-gaap_OperatingIncomeLoss_3B4D7C0FB0DF3475B85BADCCEC401C0C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ForeignCurrencyTransactionGainLossBeforeTax" xlink:label="loc_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_1483C39923CD0311F4B5ADCCEC415CCE" 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_22A4DEBF2DAB7B19AC50ADCCEC3FA536" xlink:to="loc_us-gaap_ForeignCurrencyTransactionGainLossBeforeTax_1483C39923CD0311F4B5ADCCEC415CCE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InvestmentIncomeNonoperating" xlink:label="loc_us-gaap_InvestmentIncomeNonoperating_07B02D89883D4F5206C3ADCCEC41094D" 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_22A4DEBF2DAB7B19AC50ADCCEC3FA536" xlink:to="loc_us-gaap_InvestmentIncomeNonoperating_07B02D89883D4F5206C3ADCCEC41094D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherNonoperatingIncomeExpense" xlink:label="loc_us-gaap_OtherNonoperatingIncomeExpense_D68D01A53A90A4861FD1ADCCEC419733" 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_22A4DEBF2DAB7B19AC50ADCCEC3FA536" xlink:to="loc_us-gaap_OtherNonoperatingIncomeExpense_D68D01A53A90A4861FD1ADCCEC419733" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_3E1B99DF80730731B782ADCCEC41009C" 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_22A4DEBF2DAB7B19AC50ADCCEC3FA536" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments_3E1B99DF80730731B782ADCCEC41009C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxExpenseBenefit" xlink:label="loc_us-gaap_IncomeTaxExpenseBenefit_845A0FC082818B5304C8ADCCEC41AC8D" 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_22A4DEBF2DAB7B19AC50ADCCEC3FA536" xlink:to="loc_us-gaap_IncomeTaxExpenseBenefit_845A0FC082818B5304C8ADCCEC41AC8D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NetIncomeLoss" xlink:label="loc_us-gaap_NetIncomeLoss_4285B1324DBBCA30D0E1ADCCEC41EB0E" 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_22A4DEBF2DAB7B19AC50ADCCEC3FA536" xlink:to="loc_us-gaap_NetIncomeLoss_4285B1324DBBCA30D0E1ADCCEC41EB0E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EarningsPerShareDilutedAbstract" xlink:label="loc_us-gaap_EarningsPerShareDilutedAbstract_C6FE9085360C271B71B9ADCCEC42A8EF" 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_22A4DEBF2DAB7B19AC50ADCCEC3FA536" xlink:to="loc_us-gaap_EarningsPerShareDilutedAbstract_C6FE9085360C271B71B9ADCCEC42A8EF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare" xlink:label="loc_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_B14AA48121244BCA760DADCCEC421CED" 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_C6FE9085360C271B71B9ADCCEC42A8EF" xlink:to="loc_us-gaap_IncomeLossFromContinuingOperationsPerDilutedShare_B14AA48121244BCA760DADCCEC421CED" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EarningsPerShareDiluted" xlink:label="loc_us-gaap_EarningsPerShareDiluted_A74EBBD5921DA1A35799ADCCEC42B302" 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_C6FE9085360C271B71B9ADCCEC42A8EF" xlink:to="loc_us-gaap_EarningsPerShareDiluted_A74EBBD5921DA1A35799ADCCEC42B302" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_CF4199B9EF89DA04A5C7ADCCEC425F6E" 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_22A4DEBF2DAB7B19AC50ADCCEC3FA536" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract_CF4199B9EF89DA04A5C7ADCCEC425F6E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_FC16598426C4C4907164ADCCEC425B7F" 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_CF4199B9EF89DA04A5C7ADCCEC425F6E" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_FC16598426C4C4907164ADCCEC425B7F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_3F6D64E3A5456E92DD69ADCCEC434A67" 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_CF4199B9EF89DA04A5C7ADCCEC425F6E" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_3F6D64E3A5456E92DD69ADCCEC434A67" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CommonStockDividendsPerShareCashPaid" xlink:label="loc_us-gaap_CommonStockDividendsPerShareCashPaid_2B0DB33D387EB8AF1BA8ADCCEC435E5D" 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_22A4DEBF2DAB7B19AC50ADCCEC3FA536" xlink:to="loc_us-gaap_CommonStockDividendsPerShareCashPaid_2B0DB33D387EB8AF1BA8ADCCEC435E5D" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_93DE85C5091274D51A5794A15021C36F" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_8B8ADC23441CEDE36A1194A1502124D0" 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_93DE85C5091274D51A5794A15021C36F" xlink:to="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureTextBlock_8B8ADC23441CEDE36A1194A1502124D0" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_21E1C8F4AEB558823BCDA9F25CDD232B" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_6E7ED3AD08E981306320A9F25CDD38B0" 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_21E1C8F4AEB558823BCDA9F25CDD232B" xlink:to="loc_us-gaap_DerivativeInstrumentsGainLossByHedgingRelationshipByIncomeStatementLocationByDerivativeInstrumentRiskTable_6E7ED3AD08E981306320A9F25CDD38B0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_HedgingDesignationAxis" xlink:label="loc_us-gaap_HedgingDesignationAxis_61D6BB22716566C7616FA9F25CDE1407" 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_6E7ED3AD08E981306320A9F25CDD38B0" xlink:to="loc_us-gaap_HedgingDesignationAxis_61D6BB22716566C7616FA9F25CDE1407" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_78371F15E1BB07F692E6A9F25CDE2104" 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_61D6BB22716566C7616FA9F25CDE1407" xlink:to="loc_us-gaap_HedgingDesignationDomain_78371F15E1BB07F692E6A9F25CDE2104" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DesignatedAsHedgingInstrumentMember" xlink:label="loc_us-gaap_DesignatedAsHedgingInstrumentMember_419BF46B47DB77A8256CA9F25CDEED48" 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_78371F15E1BB07F692E6A9F25CDE2104" xlink:to="loc_us-gaap_DesignatedAsHedgingInstrumentMember_419BF46B47DB77A8256CA9F25CDEED48" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NondesignatedMember" xlink:label="loc_us-gaap_NondesignatedMember_97BE4CCB7E6336FC9D42A9F25CDFAFD4" 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_HedgingDesignationDomain_78371F15E1BB07F692E6A9F25CDE2104" xlink:to="loc_us-gaap_NondesignatedMember_97BE4CCB7E6336FC9D42A9F25CDFAFD4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_890F9E11DBC7C4F215C3A9F25CDFC09B" 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_6E7ED3AD08E981306320A9F25CDD38B0" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_890F9E11DBC7C4F215C3A9F25CDFC09B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_FA078DF786158A94AC49A9F25CDFC2E2" 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_890F9E11DBC7C4F215C3A9F25CDFC09B" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_FA078DF786158A94AC49A9F25CDFC2E2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CashFlowHedgingMember" xlink:label="loc_us-gaap_CashFlowHedgingMember_71D763B64C5B8F9EABF5A9F25CDF929C" 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_FA078DF786158A94AC49A9F25CDFC2E2" xlink:to="loc_us-gaap_CashFlowHedgingMember_71D763B64C5B8F9EABF5A9F25CDF929C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SalesRevenueGoodsNetMember" xlink:label="loc_us-gaap_SalesRevenueGoodsNetMember_EF4E2451D3F363F95F71A9F25CDF1447" 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_IncomeStatementLocationDomain_FA078DF786158A94AC49A9F25CDFC2E2" xlink:to="loc_us-gaap_SalesRevenueGoodsNetMember_EF4E2451D3F363F95F71A9F25CDF1447" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpenseMember_2868C8F36877596E08A7A9F25CE032BF" 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_IncomeStatementLocationDomain_FA078DF786158A94AC49A9F25CDFC2E2" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpenseMember_2868C8F36877596E08A7A9F25CE032BF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_GeneralAndAdministrativeExpenseMember" xlink:label="loc_us-gaap_GeneralAndAdministrativeExpenseMember_0DCC4DDF477A565ABC59A9F25CE0C4D3" 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_IncomeStatementLocationDomain_FA078DF786158A94AC49A9F25CDFC2E2" xlink:to="loc_us-gaap_GeneralAndAdministrativeExpenseMember_0DCC4DDF477A565ABC59A9F25CE0C4D3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ForeignCurrencyGainLossMember" xlink:label="loc_us-gaap_ForeignCurrencyGainLossMember_16BF606423BA9911610DA9F25CE00F1B" 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_IncomeStatementLocationDomain_FA078DF786158A94AC49A9F25CDFC2E2" xlink:to="loc_us-gaap_ForeignCurrencyGainLossMember_16BF606423BA9911610DA9F25CE00F1B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossLineItems" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_3445383BDF6221A23CFFA9F25CE0748E" 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_6E7ED3AD08E981306320A9F25CDD38B0" xlink:to="loc_us-gaap_DerivativeInstrumentsGainLossLineItems_3445383BDF6221A23CFFA9F25CE0748E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet_835651DE86347C4A78C0A9F25CE07E48" 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_DerivativeInstrumentsGainLossLineItems_3445383BDF6221A23CFFA9F25CE0748E" xlink:to="loc_us-gaap_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet_835651DE86347C4A78C0A9F25CE07E48" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet_A3DE09D2EEDB48B79ABFA9F25CE01784" 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_DerivativeInstrumentsGainLossLineItems_3445383BDF6221A23CFFA9F25CE0748E" xlink:to="loc_us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet_A3DE09D2EEDB48B79ABFA9F25CE01784" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax" xlink:label="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_35A01ACC1932F0DC7AC7A9F25CE144A4" 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_DerivativeInstrumentsGainLossLineItems_3445383BDF6221A23CFFA9F25CE0748E" xlink:to="loc_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax_35A01ACC1932F0DC7AC7A9F25CE144A4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet" xlink:label="loc_us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet_E022F279FB1FE2451DD7AA24CC986A2A" 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_DerivativeInstrumentsGainLossLineItems_3445383BDF6221A23CFFA9F25CE0748E" xlink:to="loc_us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet_E022F279FB1FE2451DD7AA24CC986A2A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeGainLossOnDerivativeNet" xlink:label="loc_us-gaap_DerivativeGainLossOnDerivativeNet_318833750F4F071D9C07A9F25CE1BEBF" 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_DerivativeInstrumentsGainLossLineItems_3445383BDF6221A23CFFA9F25CE0748E" xlink:to="loc_us-gaap_DerivativeGainLossOnDerivativeNet_318833750F4F071D9C07A9F25CE1BEBF" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_CFC49DCB41FF844B113194A15080E79A" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_DC44BE2FDF7E6D4B3E1C94A15080E1A7" 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_CFC49DCB41FF844B113194A15080E79A" xlink:to="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresTable_DC44BE2FDF7E6D4B3E1C94A15080E1A7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_HedgingDesignationAxis" xlink:label="loc_us-gaap_HedgingDesignationAxis_71BB0A82FBFC46CA4C3994A15081118D" 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_DC44BE2FDF7E6D4B3E1C94A15080E1A7" xlink:to="loc_us-gaap_HedgingDesignationAxis_71BB0A82FBFC46CA4C3994A15081118D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_93FA2F815A92B6F4CEB094A15081D299" 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_71BB0A82FBFC46CA4C3994A15081118D" xlink:to="loc_us-gaap_HedgingDesignationDomain_93FA2F815A92B6F4CEB094A15081D299" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DesignatedAsHedgingInstrumentMember" xlink:label="loc_us-gaap_DesignatedAsHedgingInstrumentMember_C46B3060D14A583E0A7A94A15081F819" 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_93FA2F815A92B6F4CEB094A15081D299" xlink:to="loc_us-gaap_DesignatedAsHedgingInstrumentMember_C46B3060D14A583E0A7A94A15081F819" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NondesignatedMember" xlink:label="loc_us-gaap_NondesignatedMember_323B8D8086CDD705774094A15082F8CC" 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_HedgingDesignationDomain_93FA2F815A92B6F4CEB094A15081D299" xlink:to="loc_us-gaap_NondesignatedMember_323B8D8086CDD705774094A15082F8CC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_C1310D3C91DF421D1B9D94A15082BF93" 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_DC44BE2FDF7E6D4B3E1C94A15080E1A7" xlink:to="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_C1310D3C91DF421D1B9D94A15082BF93" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeNumberOfInstrumentsHeld" xlink:label="loc_us-gaap_DerivativeNumberOfInstrumentsHeld_66622E721DF616A42FE794A15082AAF7" 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_C1310D3C91DF421D1B9D94A15082BF93" xlink:to="loc_us-gaap_DerivativeNumberOfInstrumentsHeld_66622E721DF616A42FE794A15082AAF7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1" xlink:label="loc_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1_0FF7DDC646EE15F780D994A15082E22A" 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_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_C1310D3C91DF421D1B9D94A15082BF93" xlink:to="loc_us-gaap_MaximumRemainingMaturityOfForeignCurrencyDerivatives1_0FF7DDC646EE15F780D994A15082E22A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MaximumLengthOfTimeHedgedInCashFlowHedge1" xlink:label="loc_us-gaap_MaximumLengthOfTimeHedgedInCashFlowHedge1_D661A1C4EE2543382CA294A150832926" 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_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems_C1310D3C91DF421D1B9D94A15082BF93" xlink:to="loc_us-gaap_MaximumLengthOfTimeHedgedInCashFlowHedge1_D661A1C4EE2543382CA294A150832926" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_108BC86696A8062A994B94A1500BA640" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeFairValueOfDerivativeAsset" xlink:label="loc_us-gaap_DerivativeFairValueOfDerivativeAsset_1B8FFA8D52E6C0F68BF294A1500BA811" 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_108BC86696A8062A994B94A1500BA640" xlink:to="loc_us-gaap_DerivativeFairValueOfDerivativeAsset_1B8FFA8D52E6C0F68BF294A1500BA811" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset" xlink:label="loc_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset_AC33AF1BD4EDF02C697794A1500B2799" 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_108BC86696A8062A994B94A1500BA640" xlink:to="loc_us-gaap_DerivativeAssetCollateralObligationToReturnCashOffset_AC33AF1BD4EDF02C697794A1500B2799" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeAssets" xlink:label="loc_us-gaap_DerivativeAssets_CACDD6251D7B5B9F876094A1500BDC63" 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_108BC86696A8062A994B94A1500BA640" xlink:to="loc_us-gaap_DerivativeAssets_CACDD6251D7B5B9F876094A1500BDC63" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeFairValueOfDerivativeLiability" xlink:label="loc_us-gaap_DerivativeFairValueOfDerivativeLiability_A759A296BBC9BBCA500494A1500C4C24" 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_108BC86696A8062A994B94A1500BA640" xlink:to="loc_us-gaap_DerivativeFairValueOfDerivativeLiability_A759A296BBC9BBCA500494A1500C4C24" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset" xlink:label="loc_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset_7A7FEFC6D3791B2E4FA594A1500C54C3" 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_108BC86696A8062A994B94A1500BA640" xlink:to="loc_us-gaap_DerivativeLiabilityCollateralRightToReclaimCashOffset_7A7FEFC6D3791B2E4FA594A1500C54C3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeLiabilities" xlink:label="loc_us-gaap_DerivativeLiabilities_4FA64A83ADC2E5C70FD694A1500C4793" 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_108BC86696A8062A994B94A1500BA640" xlink:to="loc_us-gaap_DerivativeLiabilities_4FA64A83ADC2E5C70FD694A1500C4793" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_74DF0CEB892595BBBE3FB895CDFA8D06" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeTable" xlink:label="loc_us-gaap_DerivativeTable_F9ADDFB8E477FDFD3263B895CDFAAC03" 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_74DF0CEB892595BBBE3FB895CDFA8D06" xlink:to="loc_us-gaap_DerivativeTable_F9ADDFB8E477FDFD3263B895CDFAAC03" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_HedgingDesignationAxis" xlink:label="loc_us-gaap_HedgingDesignationAxis_356F57F7480DE23214B2B895CDFA93AD" 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_F9ADDFB8E477FDFD3263B895CDFAAC03" xlink:to="loc_us-gaap_HedgingDesignationAxis_356F57F7480DE23214B2B895CDFA93AD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_F7A8F5D8826D9CBFD3D1B895CDFBC3D7" 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_356F57F7480DE23214B2B895CDFA93AD" xlink:to="loc_us-gaap_HedgingDesignationDomain_F7A8F5D8826D9CBFD3D1B895CDFBC3D7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DesignatedAsHedgingInstrumentMember" xlink:label="loc_us-gaap_DesignatedAsHedgingInstrumentMember_A3268A22501B824B56BFB895CDFB3490" 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_F7A8F5D8826D9CBFD3D1B895CDFBC3D7" xlink:to="loc_us-gaap_DesignatedAsHedgingInstrumentMember_A3268A22501B824B56BFB895CDFB3490" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NondesignatedMember" xlink:label="loc_us-gaap_NondesignatedMember_C303B51B7916579435A8B895CDFB9CBF" 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_HedgingDesignationDomain_F7A8F5D8826D9CBFD3D1B895CDFBC3D7" xlink:to="loc_us-gaap_NondesignatedMember_C303B51B7916579435A8B895CDFB9CBF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CurrencyAxis" xlink:label="loc_us-gaap_CurrencyAxis_6D69C9DE0D2706564508B895CDFB3F29" 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_F9ADDFB8E477FDFD3263B895CDFAAC03" xlink:to="loc_us-gaap_CurrencyAxis_6D69C9DE0D2706564508B895CDFB3F29" 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_864C29575A1E7AD3C1EEB895CDFCCFAA" 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_CurrencyAxis_6D69C9DE0D2706564508B895CDFB3F29" xlink:to="loc_currency_AllCurrenciesDomain_864C29575A1E7AD3C1EEB895CDFCCFAA" 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_C02D17D3239F1D69E650B895CDFCA1AD" 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_864C29575A1E7AD3C1EEB895CDFCCFAA" xlink:to="loc_currency_EUR_C02D17D3239F1D69E650B895CDFCA1AD" 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_A225D1E2E1EE747D89C7B895CDFC29A5" 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_864C29575A1E7AD3C1EEB895CDFCCFAA" xlink:to="loc_currency_JPY_A225D1E2E1EE747D89C7B895CDFC29A5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/currency/2017/currency-2017-01-31.xsd#currency_CHF" xlink:label="loc_currency_CHF_088E4A908ED48D949AD4B895CDFCD6A5" 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_864C29575A1E7AD3C1EEB895CDFCCFAA" xlink:to="loc_currency_CHF_088E4A908ED48D949AD4B895CDFCD6A5" 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_9B958F0444C83AF78E85B895CDFC74BA" 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_currency_AllCurrenciesDomain_864C29575A1E7AD3C1EEB895CDFCCFAA" xlink:to="loc_currency_HUF_9B958F0444C83AF78E85B895CDFC74BA" 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_15E974AF420D44179A40B895CDFD2638" 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_currency_AllCurrenciesDomain_864C29575A1E7AD3C1EEB895CDFCCFAA" xlink:to="loc_currency_GBP_15E974AF420D44179A40B895CDFD2638" 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_4B9E972B799690CE8700B895CDFD0247" 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_864C29575A1E7AD3C1EEB895CDFCCFAA" xlink:to="loc_currency_KRW_4B9E972B799690CE8700B895CDFD0247" 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_58EBD68878C8C1927FAAB895CDFD2F1F" 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_864C29575A1E7AD3C1EEB895CDFCCFAA" xlink:to="loc_currency_TWD_58EBD68878C8C1927FAAB895CDFD2F1F" 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_1EA3C7C4E3B2FC1490BBB895CDFDBC97" 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_864C29575A1E7AD3C1EEB895CDFCCFAA" xlink:to="loc_currency_CAD_1EA3C7C4E3B2FC1490BBB895CDFDBC97" 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_A0BA21D5C9914EC01711B895CDFD58AA" 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_currency_AllCurrenciesDomain_864C29575A1E7AD3C1EEB895CDFCCFAA" xlink:to="loc_currency_SGD_A0BA21D5C9914EC01711B895CDFD58AA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeLineItems" xlink:label="loc_us-gaap_DerivativeLineItems_D2A3BC1A8885B2E0D34CB895CDFDCB77" 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_F9ADDFB8E477FDFD3263B895CDFAAC03" xlink:to="loc_us-gaap_DerivativeLineItems_D2A3BC1A8885B2E0D34CB895CDFDCB77" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeAssetNotionalAmount" xlink:label="loc_us-gaap_DerivativeAssetNotionalAmount_2EC031E1CEB57CEE746DB895CDFEB2EF" 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_D2A3BC1A8885B2E0D34CB895CDFDCB77" xlink:to="loc_us-gaap_DerivativeAssetNotionalAmount_2EC031E1CEB57CEE746DB895CDFEB2EF" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_FD73A03FFD3EE78A32B394A14EBD9515" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable" xlink:label="loc_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_6E9EBC618BEB606B2EA094A14EBEC5F3" 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_FD73A03FFD3EE78A32B394A14EBD9515" xlink:to="loc_us-gaap_FairValuesDerivativesBalanceSheetLocationByDerivativeContractTypeByHedgingDesignationTable_6E9EBC618BEB606B2EA094A14EBEC5F3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_HedgingDesignationAxis" xlink:label="loc_us-gaap_HedgingDesignationAxis_89EC421086533562541E94A14EBE60EB" 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_6E9EBC618BEB606B2EA094A14EBEC5F3" xlink:to="loc_us-gaap_HedgingDesignationAxis_89EC421086533562541E94A14EBE60EB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_HedgingDesignationDomain" xlink:label="loc_us-gaap_HedgingDesignationDomain_BB4194D43AB7BF8A651A94A14EBE47B9" 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_89EC421086533562541E94A14EBE60EB" xlink:to="loc_us-gaap_HedgingDesignationDomain_BB4194D43AB7BF8A651A94A14EBE47B9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DesignatedAsHedgingInstrumentMember" xlink:label="loc_us-gaap_DesignatedAsHedgingInstrumentMember_DF712067A7503CAA2DCF94A14EBE702C" 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_BB4194D43AB7BF8A651A94A14EBE47B9" xlink:to="loc_us-gaap_DesignatedAsHedgingInstrumentMember_DF712067A7503CAA2DCF94A14EBE702C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NondesignatedMember" xlink:label="loc_us-gaap_NondesignatedMember_2102D4CB3B36B91DF82194A14EBFDA5E" 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_HedgingDesignationDomain_BB4194D43AB7BF8A651A94A14EBE47B9" xlink:to="loc_us-gaap_NondesignatedMember_2102D4CB3B36B91DF82194A14EBFDA5E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_BalanceSheetLocationAxis" xlink:label="loc_us-gaap_BalanceSheetLocationAxis_F3D64ECFE13956921ADF94A14EBF6B9E" 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_6E9EBC618BEB606B2EA094A14EBEC5F3" xlink:to="loc_us-gaap_BalanceSheetLocationAxis_F3D64ECFE13956921ADF94A14EBF6B9E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_BalanceSheetLocationDomain" xlink:label="loc_us-gaap_BalanceSheetLocationDomain_5E3B74B486925A88CC5994A14EBF079C" 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_F3D64ECFE13956921ADF94A14EBF6B9E" xlink:to="loc_us-gaap_BalanceSheetLocationDomain_5E3B74B486925A88CC5994A14EBF079C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember" xlink:label="loc_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_8CC943FA5298F19D113194A14EC01666" 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_5E3B74B486925A88CC5994A14EBF079C" xlink:to="loc_us-gaap_PrepaidExpensesAndOtherCurrentAssetsMember_8CC943FA5298F19D113194A14EC01666" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_AccruedExpensesMember" xlink:label="loc_cgnx_AccruedExpensesMember_9006120977755E590CBB94A14EC0088A" 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_5E3B74B486925A88CC5994A14EBF079C" xlink:to="loc_cgnx_AccruedExpensesMember_9006120977755E590CBB94A14EC0088A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativesFairValueLineItems" xlink:label="loc_us-gaap_DerivativesFairValueLineItems_F866E7C02691809F3DA194A14EC094E4" 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_6E9EBC618BEB606B2EA094A14EBEC5F3" xlink:to="loc_us-gaap_DerivativesFairValueLineItems_F866E7C02691809F3DA194A14EC094E4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeAssets" xlink:label="loc_us-gaap_DerivativeAssets_3F780B35BA986A5E2E1F94A14EC06D7A" 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_F866E7C02691809F3DA194A14EC094E4" xlink:to="loc_us-gaap_DerivativeAssets_3F780B35BA986A5E2E1F94A14EC06D7A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeLiabilities" xlink:label="loc_us-gaap_DerivativeLiabilities_77D7B493BD6CE64503EF94A14EC19BC6" 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_F866E7C02691809F3DA194A14EC094E4" xlink:to="loc_us-gaap_DerivativeLiabilities_77D7B493BD6CE64503EF94A14EC19BC6" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract" xlink:label="loc_us-gaap_DerivativeInstrumentsAndHedgingActivitiesDisclosureAbstract_4100FA3D1F65E86B9B48A9D96A67E932" xlink:type="locator" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_OutstandingForwardContractsTableTextBlock" xlink:label="loc_cgnx_OutstandingForwardContractsTableTextBlock_B374C1AE5C668B89EDA7A9D96A6EB1C3" 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_4100FA3D1F65E86B9B48A9D96A67E932" xlink:to="loc_cgnx_OutstandingForwardContractsTableTextBlock_B374C1AE5C668B89EDA7A9D96A6EB1C3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock" xlink:label="loc_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_0F7B08BEE5F1F86AC541A9D96A6F5AA2" 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_4100FA3D1F65E86B9B48A9D96A67E932" xlink:to="loc_us-gaap_ScheduleOfDerivativeInstrumentsInStatementOfFinancialPositionFairValueTextBlock_0F7B08BEE5F1F86AC541A9D96A6F5AA2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OffsettingAssetsTableTextBlock" xlink:label="loc_us-gaap_OffsettingAssetsTableTextBlock_4B274AFC23F5C98C55B8A9D96A704184" 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_4100FA3D1F65E86B9B48A9D96A67E932" xlink:to="loc_us-gaap_OffsettingAssetsTableTextBlock_4B274AFC23F5C98C55B8A9D96A704184" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock" xlink:label="loc_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_48A3DF6283B81C608CEBA9D96A70AE3E" 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_4100FA3D1F65E86B9B48A9D96A67E932" xlink:to="loc_us-gaap_ScheduleOfDerivativeInstrumentsGainLossInStatementOfFinancialPerformanceTextBlock_48A3DF6283B81C608CEBA9D96A70AE3E" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/DocumentAndEntityInformation" xlink:type="extended">
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_DocumentAndEntityInformationAbstract" xlink:label="loc_cgnx_DocumentAndEntityInformationAbstract_0377D9F56565645119AFADFB427F41F2" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityRegistrantName" xlink:label="loc_dei_EntityRegistrantName_F1A0B14BCC8575261787ADFB427F0094" 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_DocumentAndEntityInformationAbstract_0377D9F56565645119AFADFB427F41F2" xlink:to="loc_dei_EntityRegistrantName_F1A0B14BCC8575261787ADFB427F0094" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityCentralIndexKey" xlink:label="loc_dei_EntityCentralIndexKey_A3C6E697918F168530CDADFB427F305C" 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_DocumentAndEntityInformationAbstract_0377D9F56565645119AFADFB427F41F2" xlink:to="loc_dei_EntityCentralIndexKey_A3C6E697918F168530CDADFB427F305C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_CurrentFiscalYearEndDate" xlink:label="loc_dei_CurrentFiscalYearEndDate_7C495E6F6028E5EC1976ADFB428090D8" 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_DocumentAndEntityInformationAbstract_0377D9F56565645119AFADFB427F41F2" xlink:to="loc_dei_CurrentFiscalYearEndDate_7C495E6F6028E5EC1976ADFB428090D8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityFilerCategory" xlink:label="loc_dei_EntityFilerCategory_0C93FFA5CD53CF2B7864ADFB428088FA" 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_cgnx_DocumentAndEntityInformationAbstract_0377D9F56565645119AFADFB427F41F2" xlink:to="loc_dei_EntityFilerCategory_0C93FFA5CD53CF2B7864ADFB428088FA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_DocumentType" xlink:label="loc_dei_DocumentType_79D6E7CFE79C16D1DA05ADFB4280CA16" 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_cgnx_DocumentAndEntityInformationAbstract_0377D9F56565645119AFADFB427F41F2" xlink:to="loc_dei_DocumentType_79D6E7CFE79C16D1DA05ADFB4280CA16" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_DocumentPeriodEndDate" xlink:label="loc_dei_DocumentPeriodEndDate_3549BF0933BBB133A9B0ADFB42802BFA" 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_cgnx_DocumentAndEntityInformationAbstract_0377D9F56565645119AFADFB427F41F2" xlink:to="loc_dei_DocumentPeriodEndDate_3549BF0933BBB133A9B0ADFB42802BFA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_DocumentFiscalYearFocus" xlink:label="loc_dei_DocumentFiscalYearFocus_768E2832C22718F5C615ADFB428065FE" 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_cgnx_DocumentAndEntityInformationAbstract_0377D9F56565645119AFADFB427F41F2" xlink:to="loc_dei_DocumentFiscalYearFocus_768E2832C22718F5C615ADFB428065FE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_DocumentFiscalPeriodFocus" xlink:label="loc_dei_DocumentFiscalPeriodFocus_980BD6E5DF7E2E48D51AADFB428139A7" 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_cgnx_DocumentAndEntityInformationAbstract_0377D9F56565645119AFADFB427F41F2" xlink:to="loc_dei_DocumentFiscalPeriodFocus_980BD6E5DF7E2E48D51AADFB428139A7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_AmendmentFlag" xlink:label="loc_dei_AmendmentFlag_075000C2BDE286D70BE6ADFB42813CB0" 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_cgnx_DocumentAndEntityInformationAbstract_0377D9F56565645119AFADFB427F41F2" xlink:to="loc_dei_AmendmentFlag_075000C2BDE286D70BE6ADFB42813CB0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.sec.gov/dei/2014/dei-2014-01-31.xsd#dei_EntityCommonStockSharesOutstanding" xlink:label="loc_dei_EntityCommonStockSharesOutstanding_4A5A4EC7614DD4E1D1E9ADFB42811A62" 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_cgnx_DocumentAndEntityInformationAbstract_0377D9F56565645119AFADFB427F41F2" xlink:to="loc_dei_EntityCommonStockSharesOutstanding_4A5A4EC7614DD4E1D1E9ADFB42811A62" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_BAF6964FC31B62CC3AFD94A14F101B8E" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueDisclosuresTextBlock" xlink:label="loc_us-gaap_FairValueDisclosuresTextBlock_215B696C26D3A9F3445994A14F10DF6D" 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_BAF6964FC31B62CC3AFD94A14F101B8E" xlink:to="loc_us-gaap_FairValueDisclosuresTextBlock_215B696C26D3A9F3445994A14F10DF6D" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_0BB1C12C8A2E3D575DDFADCBF77321D9" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_8C30D1449E16EF62C245ADCBF773A238" 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_0BB1C12C8A2E3D575DDFADCBF77321D9" xlink:to="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisTable_8C30D1449E16EF62C245ADCBF773A238" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_B4BD3CF2FEDD48105ED0ADCBF774C9C2" 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_8C30D1449E16EF62C245ADCBF773A238" xlink:to="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_B4BD3CF2FEDD48105ED0ADCBF774C9C2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_517EA8D04B7B0B325BA5ADCBF7741F12" 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_B4BD3CF2FEDD48105ED0ADCBF774C9C2" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_517EA8D04B7B0B325BA5ADCBF7741F12" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueInputsLevel1Member" xlink:label="loc_us-gaap_FairValueInputsLevel1Member_2CC397A312196E34D459ADCBF77418E8" 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_517EA8D04B7B0B325BA5ADCBF7741F12" xlink:to="loc_us-gaap_FairValueInputsLevel1Member_2CC397A312196E34D459ADCBF77418E8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueInputsLevel2Member" xlink:label="loc_us-gaap_FairValueInputsLevel2Member_814D37A583E8EDBBFA6BADCBF7753165" 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_517EA8D04B7B0B325BA5ADCBF7741F12" xlink:to="loc_us-gaap_FairValueInputsLevel2Member_814D37A583E8EDBBFA6BADCBF7753165" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueInputsLevel3Member" xlink:label="loc_us-gaap_FairValueInputsLevel3Member_3B61E14A1CA6E3561ABCADCBF775BAAA" 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_517EA8D04B7B0B325BA5ADCBF7741F12" xlink:to="loc_us-gaap_FairValueInputsLevel3Member_3B61E14A1CA6E3561ABCADCBF775BAAA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="loc_us-gaap_FairValueByMeasurementFrequencyAxis_D990C5AC6E32AD592BEFADCBF775B93E" 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_8C30D1449E16EF62C245ADCBF773A238" xlink:to="loc_us-gaap_FairValueByMeasurementFrequencyAxis_D990C5AC6E32AD592BEFADCBF775B93E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain_87778A44B6E7ABB5BC24ADCBF77530D1" 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_D990C5AC6E32AD592BEFADCBF775B93E" xlink:to="loc_us-gaap_FairValueMeasurementFrequencyDomain_87778A44B6E7ABB5BC24ADCBF77530D1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueMeasurementsRecurringMember" xlink:label="loc_us-gaap_FairValueMeasurementsRecurringMember_4E166737A8E566EB724EADCBF775DD9C" 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_87778A44B6E7ABB5BC24ADCBF77530D1" xlink:to="loc_us-gaap_FairValueMeasurementsRecurringMember_4E166737A8E566EB724EADCBF775DD9C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_95B463AC98EEFDDB1FD9ADCBF776068D" 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_8C30D1449E16EF62C245ADCBF773A238" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesAxis_95B463AC98EEFDDB1FD9ADCBF776068D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain" xlink:label="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_810C5C7B618048A16FD8ADCBF776C664" 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_MajorTypesOfDebtAndEquitySecuritiesAxis_95B463AC98EEFDDB1FD9ADCBF776068D" xlink:to="loc_us-gaap_MajorTypesOfDebtAndEquitySecuritiesDomain_810C5C7B618048A16FD8ADCBF776C664" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CorporateBondSecuritiesMember" xlink:label="loc_us-gaap_CorporateBondSecuritiesMember_95A2C71A653C6EB1FAA8ADCBF7764B8D" 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_MajorTypesOfDebtAndEquitySecuritiesDomain_810C5C7B618048A16FD8ADCBF776C664" xlink:to="loc_us-gaap_CorporateBondSecuritiesMember_95A2C71A653C6EB1FAA8ADCBF7764B8D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_USTreasurySecuritiesMember" xlink:label="loc_us-gaap_USTreasurySecuritiesMember_75EAF793C40C7B4D2179ADCBF776D2A6" 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_MajorTypesOfDebtAndEquitySecuritiesDomain_810C5C7B618048A16FD8ADCBF776C664" xlink:to="loc_us-gaap_USTreasurySecuritiesMember_75EAF793C40C7B4D2179ADCBF776D2A6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AssetBackedSecuritiesMember" xlink:label="loc_us-gaap_AssetBackedSecuritiesMember_C82ED44576D0C243D3A3ADCBF776457C" 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_MajorTypesOfDebtAndEquitySecuritiesDomain_810C5C7B618048A16FD8ADCBF776C664" xlink:to="loc_us-gaap_AssetBackedSecuritiesMember_C82ED44576D0C243D3A3ADCBF776457C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SovereignDebtSecuritiesMember" xlink:label="loc_us-gaap_SovereignDebtSecuritiesMember_D00D766C9DADCFAFBC7EADCBF777F986" 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_MajorTypesOfDebtAndEquitySecuritiesDomain_810C5C7B618048A16FD8ADCBF776C664" xlink:to="loc_us-gaap_SovereignDebtSecuritiesMember_D00D766C9DADCFAFBC7EADCBF777F986" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_AgencyBondsMember" xlink:label="loc_cgnx_AgencyBondsMember_C1167F4C2F497EB73792ADCBF777B518" 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_MajorTypesOfDebtAndEquitySecuritiesDomain_810C5C7B618048A16FD8ADCBF776C664" xlink:to="loc_cgnx_AgencyBondsMember_C1167F4C2F497EB73792ADCBF777B518" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MunicipalBondsMember" xlink:label="loc_us-gaap_MunicipalBondsMember_0EEAD734F0F4BC5F59F7ADCBF7773111" 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_MajorTypesOfDebtAndEquitySecuritiesDomain_810C5C7B618048A16FD8ADCBF776C664" xlink:to="loc_us-gaap_MunicipalBondsMember_0EEAD734F0F4BC5F59F7ADCBF7773111" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems" xlink:label="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_DBCD3B503469121A0ABDADCBF777F4DE" 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_8C30D1449E16EF62C245ADCBF773A238" xlink:to="loc_us-gaap_FairValueAssetsAndLiabilitiesMeasuredOnRecurringAndNonrecurringBasisLineItems_DBCD3B503469121A0ABDADCBF777F4DE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AssetsFairValueDisclosureAbstract" xlink:label="loc_us-gaap_AssetsFairValueDisclosureAbstract_E30C511A84D33BBFD5D7ADCBF777F8B1" 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_DBCD3B503469121A0ABDADCBF777F4DE" xlink:to="loc_us-gaap_AssetsFairValueDisclosureAbstract_E30C511A84D33BBFD5D7ADCBF777F8B1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MoneyMarketFundsAtCarryingValue" xlink:label="loc_us-gaap_MoneyMarketFundsAtCarryingValue_57D0C5E20E496D6A8A5EADCBF7788D2B" 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_E30C511A84D33BBFD5D7ADCBF777F8B1" xlink:to="loc_us-gaap_MoneyMarketFundsAtCarryingValue_57D0C5E20E496D6A8A5EADCBF7788D2B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AvailableForSaleSecuritiesDebtSecurities" xlink:label="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_9C975C80941669CD6B39ADCBF77845B4" 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_E30C511A84D33BBFD5D7ADCBF777F8B1" xlink:to="loc_us-gaap_AvailableForSaleSecuritiesDebtSecurities_9C975C80941669CD6B39ADCBF77845B4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ForeignCurrencyContractAssetFairValueDisclosure" xlink:label="loc_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_3AD41A68D1A2F2B38870ADCBF7787381" 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_E30C511A84D33BBFD5D7ADCBF777F8B1" xlink:to="loc_us-gaap_ForeignCurrencyContractAssetFairValueDisclosure_3AD41A68D1A2F2B38870ADCBF7787381" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LiabilitiesFairValueDisclosureAbstract" xlink:label="loc_us-gaap_LiabilitiesFairValueDisclosureAbstract_3BDDFE74C927533EF229ADCBF778FBBC" 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_DBCD3B503469121A0ABDADCBF777F4DE" xlink:to="loc_us-gaap_LiabilitiesFairValueDisclosureAbstract_3BDDFE74C927533EF229ADCBF778FBBC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure" xlink:label="loc_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_94D09988B91A5D6ED965ADCBF7781CEA" xlink:type="locator" />
    <link:presentationArc order="1" preferredLabel="http://www.xbrl.org/2009/role/negatedTerseLabel" xlink:arcrole="http://www.xbrl.org/2003/arcrole/parent-child" xlink:from="loc_us-gaap_LiabilitiesFairValueDisclosureAbstract_3BDDFE74C927533EF229ADCBF778FBBC" xlink:to="loc_us-gaap_ForeignCurrencyContractsLiabilityFairValueDisclosure_94D09988B91A5D6ED965ADCBF7781CEA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_BusinessCombinationContingentConsiderationLiability" xlink:label="loc_us-gaap_BusinessCombinationContingentConsiderationLiability_540CE1AC9F7ED64F2742ADCBF77E9961" 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_3BDDFE74C927533EF229ADCBF778FBBC" xlink:to="loc_us-gaap_BusinessCombinationContingentConsiderationLiability_540CE1AC9F7ED64F2742ADCBF77E9961" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_6EBAE37FADEEA6BD3147B895CE6BEE01" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable" xlink:label="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_89283E1F42F7A1DE54B2B895CE6B4090" 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_6EBAE37FADEEA6BD3147B895CE6BEE01" xlink:to="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTable_89283E1F42F7A1DE54B2B895CE6B4090" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_BusinessAcquisitionAxis" xlink:label="loc_us-gaap_BusinessAcquisitionAxis_EB41EA98BC663030E772B895CE6BE720" 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_89283E1F42F7A1DE54B2B895CE6B4090" xlink:to="loc_us-gaap_BusinessAcquisitionAxis_EB41EA98BC663030E772B895CE6BE720" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_BusinessAcquisitionAcquireeDomain" xlink:label="loc_us-gaap_BusinessAcquisitionAcquireeDomain_CC3211FD51E6023E6DF6B895CE6BE73B" 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_EB41EA98BC663030E772B895CE6BE720" xlink:to="loc_us-gaap_BusinessAcquisitionAcquireeDomain_CC3211FD51E6023E6DF6B895CE6BE73B" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_ManateeWorksInc.Member" xlink:label="loc_cgnx_ManateeWorksInc.Member_CAA7B9FF98D5D88D39BBB895CE6CE4F5" 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_CC3211FD51E6023E6DF6B895CE6BE73B" xlink:to="loc_cgnx_ManateeWorksInc.Member_CAA7B9FF98D5D88D39BBB895CE6CE4F5" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_GViVenturesInc.Member" xlink:label="loc_cgnx_GViVenturesInc.Member_5AE02E206D1A2E9F9022B895CE6CCF9F" 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_BusinessAcquisitionAcquireeDomain_CC3211FD51E6023E6DF6B895CE6BE73B" xlink:to="loc_cgnx_GViVenturesInc.Member_5AE02E206D1A2E9F9022B895CE6CCF9F" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_ChiaroTechnologiesLLCMember" xlink:label="loc_cgnx_ChiaroTechnologiesLLCMember_A89B99C398525D8E90B5B895CE6C3ED9" 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_BusinessAcquisitionAcquireeDomain_CC3211FD51E6023E6DF6B895CE6BE73B" xlink:to="loc_cgnx_ChiaroTechnologiesLLCMember_A89B99C398525D8E90B5B895CE6C3ED9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueByFairValueHierarchyLevelAxis" xlink:label="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_2CDD957DEB753AF40DD1B895CE6C72F6" 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_89283E1F42F7A1DE54B2B895CE6B4090" xlink:to="loc_us-gaap_FairValueByFairValueHierarchyLevelAxis_2CDD957DEB753AF40DD1B895CE6C72F6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueMeasurementsFairValueHierarchyDomain" xlink:label="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_BDD48DE2A5884A55AC01B895CE6C4E8C" 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_2CDD957DEB753AF40DD1B895CE6C72F6" xlink:to="loc_us-gaap_FairValueMeasurementsFairValueHierarchyDomain_BDD48DE2A5884A55AC01B895CE6C4E8C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueInputsLevel3Member" xlink:label="loc_us-gaap_FairValueInputsLevel3Member_C632FC5F62440A6603FAB895CE6D02F5" 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_BDD48DE2A5884A55AC01B895CE6C4E8C" xlink:to="loc_us-gaap_FairValueInputsLevel3Member_C632FC5F62440A6603FAB895CE6D02F5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueByMeasurementFrequencyAxis" xlink:label="loc_us-gaap_FairValueByMeasurementFrequencyAxis_9D4400FBA4EDEF841B59B895CE6DD4EB" 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_89283E1F42F7A1DE54B2B895CE6B4090" xlink:to="loc_us-gaap_FairValueByMeasurementFrequencyAxis_9D4400FBA4EDEF841B59B895CE6DD4EB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueMeasurementFrequencyDomain" xlink:label="loc_us-gaap_FairValueMeasurementFrequencyDomain_531E23A3C9BCECE7D99BB895CE6D4689" 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_9D4400FBA4EDEF841B59B895CE6DD4EB" xlink:to="loc_us-gaap_FairValueMeasurementFrequencyDomain_531E23A3C9BCECE7D99BB895CE6D4689" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueMeasurementsRecurringMember" xlink:label="loc_us-gaap_FairValueMeasurementsRecurringMember_8BDB99865608C60010F6B895CE6D6273" 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_531E23A3C9BCECE7D99BB895CE6D4689" xlink:to="loc_us-gaap_FairValueMeasurementsRecurringMember_8BDB99865608C60010F6B895CE6D6273" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems" xlink:label="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_A1B6E5CAE90CDA645178B895CE6E5098" 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_89283E1F42F7A1DE54B2B895CE6B4090" xlink:to="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationLineItems_A1B6E5CAE90CDA645178B895CE6E5098" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" xlink:label="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_C05086378034297A5718B895CE6E7868" 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_A1B6E5CAE90CDA645178B895CE6E5098" xlink:to="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_C05086378034297A5718B895CE6E7868" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LiabilitiesFairValueAdjustment" xlink:label="loc_us-gaap_LiabilitiesFairValueAdjustment_8ED57EB47611C1B56C1CB895CE6E20A3" 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_A1B6E5CAE90CDA645178B895CE6E5098" xlink:to="loc_us-gaap_LiabilitiesFairValueAdjustment_8ED57EB47611C1B56C1CB895CE6E20A3" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_Paymentofcontingentconsideration" xlink:label="loc_cgnx_Paymentofcontingentconsideration_D8DDC5188C12B44EDABCB895CE6E7D53" 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_A1B6E5CAE90CDA645178B895CE6E5098" xlink:to="loc_cgnx_Paymentofcontingentconsideration_D8DDC5188C12B44EDABCB895CE6E7D53" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue" xlink:label="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_3241FA08B7B4EED90B9AB895CE6E0770" 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_A1B6E5CAE90CDA645178B895CE6E5098" xlink:to="loc_us-gaap_FairValueMeasurementWithUnobservableInputsReconciliationsRecurringBasisLiabilityValue_3241FA08B7B4EED90B9AB895CE6E0770" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueDisclosuresAbstract" xlink:label="loc_us-gaap_FairValueDisclosuresAbstract_E2974F9EF3CC9A1B228294A14F81FEDF" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_583201E86163649D3C9C94A14F81912A" 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_E2974F9EF3CC9A1B228294A14F81FEDF" xlink:to="loc_us-gaap_ScheduleOfFairValueAssetsAndLiabilitiesMeasuredOnRecurringBasisTableTextBlock_583201E86163649D3C9C94A14F81912A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock" xlink:label="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_031CD5222344AC3DA4E694A14F81D1B9" 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_E2974F9EF3CC9A1B228294A14F81FEDF" xlink:to="loc_us-gaap_FairValueLiabilitiesMeasuredOnRecurringBasisUnobservableInputReconciliationTextBlock_031CD5222344AC3DA4E694A14F81D1B9" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_389275A0C21BCABC57A094A14F2025CD" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IntangibleAssetsDisclosureTextBlock" xlink:label="loc_us-gaap_IntangibleAssetsDisclosureTextBlock_AA3254B782D2275543BA94A14F2033E4" 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_389275A0C21BCABC57A094A14F2025CD" xlink:to="loc_us-gaap_IntangibleAssetsDisclosureTextBlock_AA3254B782D2275543BA94A14F2033E4" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_A77ADF7528FDBCB60214B895CE223CD5" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_F79AC4FBBECE01900DD3B895CE222767" 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_A77ADF7528FDBCB60214B895CE223CD5" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTable_F79AC4FBBECE01900DD3B895CE222767" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_E3A338AD6F19EDE8701CB895CE230B21" 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_F79AC4FBBECE01900DD3B895CE222767" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsByMajorClassAxis_E3A338AD6F19EDE8701CB895CE230B21" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_D7AE2E3479A591C03F55B895CE23540D" 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_E3A338AD6F19EDE8701CB895CE230B21" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsMajorClassNameDomain_D7AE2E3479A591C03F55B895CE23540D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DistributionRightsMember" xlink:label="loc_us-gaap_DistributionRightsMember_44136E766B8D79179AE0B895CE23894B" 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_D7AE2E3479A591C03F55B895CE23540D" xlink:to="loc_us-gaap_DistributionRightsMember_44136E766B8D79179AE0B895CE23894B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DevelopedTechnologyRightsMember" xlink:label="loc_us-gaap_DevelopedTechnologyRightsMember_0881C53A2B458005CC9CB895CE23101F" 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_D7AE2E3479A591C03F55B895CE23540D" xlink:to="loc_us-gaap_DevelopedTechnologyRightsMember_0881C53A2B458005CC9CB895CE23101F" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_CustomerContractsAndRelationshipsMember" xlink:label="loc_cgnx_CustomerContractsAndRelationshipsMember_1E9F3567316D6D0724F0B895CE24F367" 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_D7AE2E3479A591C03F55B895CE23540D" xlink:to="loc_cgnx_CustomerContractsAndRelationshipsMember_1E9F3567316D6D0724F0B895CE24F367" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OtherIntangibleAssetsMember" xlink:label="loc_us-gaap_OtherIntangibleAssetsMember_0BD7837CBD8AD2489BE7B895CE24E43B" 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_D7AE2E3479A591C03F55B895CE23540D" xlink:to="loc_us-gaap_OtherIntangibleAssetsMember_0BD7837CBD8AD2489BE7B895CE24E43B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsLineItems" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_1103AB018EA5690ECFBCB895CE24354F" 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_F79AC4FBBECE01900DD3B895CE222767" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsLineItems_1103AB018EA5690ECFBCB895CE24354F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsGross" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsGross_EBB8A473CC41C4CA59D1B895CE24BB7B" 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_1103AB018EA5690ECFBCB895CE24354F" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsGross_EBB8A473CC41C4CA59D1B895CE24BB7B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_5362584D98B62180EFBCB895CE241954" 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_1103AB018EA5690ECFBCB895CE24354F" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization_5362584D98B62180EFBCB895CE241954" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsNet" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsNet_42870DE02C5353F6E18AB895CE253329" 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_1103AB018EA5690ECFBCB895CE24354F" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_42870DE02C5353F6E18AB895CE253329" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_5955204B82A88A686C76B8CC0D326BAA" 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_1103AB018EA5690ECFBCB895CE24354F" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsFutureAmortizationExpenseAbstract_5955204B82A88A686C76B8CC0D326BAA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_459AB15FD211CB401130B8C292206717" 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_5955204B82A88A686C76B8CC0D326BAA" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseRemainderOfFiscalYear_459AB15FD211CB401130B8C292206717" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_08D19164956E6945F218B8C292391FBD" 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_5955204B82A88A686C76B8CC0D326BAA" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths_08D19164956E6945F218B8C292391FBD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_C9781AA965D588B3652FB8C292582C81" 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_5955204B82A88A686C76B8CC0D326BAA" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo_C9781AA965D588B3652FB8C292582C81" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_7C13741B14F1D346126CB8C292708CC4" 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_5955204B82A88A686C76B8CC0D326BAA" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearThree_7C13741B14F1D346126CB8C292708CC4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_B55970C0D716721238D0B8C29288FE0E" 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_5955204B82A88A686C76B8CC0D326BAA" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFour_B55970C0D716721238D0B8C29288FE0E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_DACD9DD166F882089E34B8C292A1B022" 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_5955204B82A88A686C76B8CC0D326BAA" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseYearFive_DACD9DD166F882089E34B8C292A1B022" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive" xlink:label="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_822F25E5EB4843C9DE3BB8C292BD5912" 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_5955204B82A88A686C76B8CC0D326BAA" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive_822F25E5EB4843C9DE3BB8C292BD5912" 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_5955204B82A88A686C76B8CC0D326BAA" xlink:to="loc_us-gaap_FiniteLivedIntangibleAssetsNet_42870DE02C5353F6E18AB895CE253329" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract" xlink:label="loc_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract_17E254EA0E12532AFEF2B895CE2899CA" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_A4F8E9C52ED5FC6D826AB895CE2885CB" 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_17E254EA0E12532AFEF2B895CE2899CA" xlink:to="loc_us-gaap_ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock_A4F8E9C52ED5FC6D826AB895CE2885CB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock" xlink:label="loc_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_3E12F6DD2A7FB299242FB895CE294D8B" 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_17E254EA0E12532AFEF2B895CE2899CA" xlink:to="loc_us-gaap_ScheduleofFiniteLivedIntangibleAssetsFutureAmortizationExpenseTableTextBlock_3E12F6DD2A7FB299242FB895CE294D8B" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaap_InventoryDisclosureAbstract_698570E938B1DB4A22CE94A1517578C1" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InventoryDisclosureTextBlock" xlink:label="loc_us-gaap_InventoryDisclosureTextBlock_5D7642C002EE21C31E9094A151754CA7" 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_698570E938B1DB4A22CE94A1517578C1" xlink:to="loc_us-gaap_InventoryDisclosureTextBlock_5D7642C002EE21C31E9094A151754CA7" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaap_InventoryDisclosureAbstract_1F5CC614748AE69A8FE494A150AFC02D" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InventoryRawMaterialsNetOfReserves" xlink:label="loc_us-gaap_InventoryRawMaterialsNetOfReserves_E4C80277505F7FC22F1294A150B05F88" 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_1F5CC614748AE69A8FE494A150AFC02D" xlink:to="loc_us-gaap_InventoryRawMaterialsNetOfReserves_E4C80277505F7FC22F1294A150B05F88" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InventoryWorkInProcessNetOfReserves" xlink:label="loc_us-gaap_InventoryWorkInProcessNetOfReserves_D6D1BD726EEBB4C2A63F94A150B02A6A" 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_1F5CC614748AE69A8FE494A150AFC02D" xlink:to="loc_us-gaap_InventoryWorkInProcessNetOfReserves_D6D1BD726EEBB4C2A63F94A150B02A6A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InventoryFinishedGoodsNetOfReserves" xlink:label="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_E984CBEAFA6568483AE894A150B0EE7F" 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_1F5CC614748AE69A8FE494A150AFC02D" xlink:to="loc_us-gaap_InventoryFinishedGoodsNetOfReserves_E984CBEAFA6568483AE894A150B0EE7F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InventoryNet" xlink:label="loc_us-gaap_InventoryNet_CCBCBE2BFE28A56B8EEC94A150B02EB3" 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_1F5CC614748AE69A8FE494A150AFC02D" xlink:to="loc_us-gaap_InventoryNet_CCBCBE2BFE28A56B8EEC94A150B02EB3" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_InventoryDisclosureAbstract" xlink:label="loc_us-gaap_InventoryDisclosureAbstract_EC5A31785B9C30FC27D994A14EFA8C45" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfInventoryCurrentTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_98893CF414A5F7088CE394A14EFAB8A6" 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_EC5A31785B9C30FC27D994A14EFA8C45" xlink:to="loc_us-gaap_ScheduleOfInventoryCurrentTableTextBlock_98893CF414A5F7088CE394A14EFAB8A6" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract" xlink:label="loc_us-gaap_OrganizationConsolidationAndPresentationOfFinancialStatementsAbstract_C898822D863FCA59FB9194A151AE06CB" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock" xlink:label="loc_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_FFA96C3A0B067E8013A694A151AE81BD" 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_C898822D863FCA59FB9194A151AE06CB" xlink:to="loc_us-gaap_NewAccountingPronouncementsAndChangesInAccountingPrinciplesTextBlock_FFA96C3A0B067E8013A694A151AE81BD" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_73A68D17440B3D1938CD94A14EA125FA" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CompensationRelatedCostsGeneralTextBlock" xlink:label="loc_us-gaap_CompensationRelatedCostsGeneralTextBlock_9313327BB0017F93805794A14EA1E24D" 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_73A68D17440B3D1938CD94A14EA125FA" xlink:to="loc_us-gaap_CompensationRelatedCostsGeneralTextBlock_9313327BB0017F93805794A14EA1E24D" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_C78D33F6D13C9544A456AE19FC1A3C0D" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_8734124BC74200377618AE19FC1B2F9A" 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_C78D33F6D13C9544A456AE19FC1A3C0D" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_8734124BC74200377618AE19FC1B2F9A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaap_AwardTypeAxis_F5587A3183939D869236AE19FC1B9E5A" 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_ScheduleOfShareBasedCompensationArrangementsByShareBasedPaymentAwardTable_8734124BC74200377618AE19FC1B2F9A" xlink:to="loc_us-gaap_AwardTypeAxis_F5587A3183939D869236AE19FC1B9E5A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_BAA50F61EF48C8BB8394AE19FC1BFBDD" 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_F5587A3183939D869236AE19FC1B9E5A" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_BAA50F61EF48C8BB8394AE19FC1BFBDD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EmployeeStockOptionMember" xlink:label="loc_us-gaap_EmployeeStockOptionMember_BB49879F467E635FF11DAE19FC1BEA82" 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_BAA50F61EF48C8BB8394AE19FC1BFBDD" xlink:to="loc_us-gaap_EmployeeStockOptionMember_BB49879F467E635FF11DAE19FC1BEA82" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PlanNameAxis" xlink:label="loc_us-gaap_PlanNameAxis_4CB421F8878BECAF6A9FAE19FC1C50EE" 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_8734124BC74200377618AE19FC1B2F9A" xlink:to="loc_us-gaap_PlanNameAxis_4CB421F8878BECAF6A9FAE19FC1C50EE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_PlanNameDomain" xlink:label="loc_us-gaap_PlanNameDomain_9C3CD238473E3D8FE9E1AE19FC1CA248" 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_4CB421F8878BECAF6A9FAE19FC1C50EE" xlink:to="loc_us-gaap_PlanNameDomain_9C3CD238473E3D8FE9E1AE19FC1CA248" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_GeneralStockOptionPlanMember" xlink:label="loc_cgnx_GeneralStockOptionPlanMember_9E4859D74C626493C28CAE19FC1C7CED" 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_PlanNameDomain_9C3CD238473E3D8FE9E1AE19FC1CA248" xlink:to="loc_cgnx_GeneralStockOptionPlanMember_9E4859D74C626493C28CAE19FC1C7CED" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_4F5055A8702268D24592AE19FC1CD803" 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_8734124BC74200377618AE19FC1B2F9A" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_4F5055A8702268D24592AE19FC1CD803" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_6301EDA1C9A809B94D05AE19FC1D3AED" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_4F5055A8702268D24592AE19FC1CD803" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant_6301EDA1C9A809B94D05AE19FC1D3AED" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_4F6DFCB7BBB05007F4EDAE19FC1DD010" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_4F5055A8702268D24592AE19FC1CD803" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1_4F6DFCB7BBB05007F4EDAE19FC1DD010" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_ExpirationPeriodOfStockOptionPlan" xlink:label="loc_cgnx_ExpirationPeriodOfStockOptionPlan_A9ECF25E7DBC44F5A0BDAE19FC1DA266" 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_4F5055A8702268D24592AE19FC1CD803" xlink:to="loc_cgnx_ExpirationPeriodOfStockOptionPlan_A9ECF25E7DBC44F5A0BDAE19FC1DA266" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_468B1059E2AEF87A99E8AE19FC1DCE1A" 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_4F5055A8702268D24592AE19FC1CD803" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_468B1059E2AEF87A99E8AE19FC1DCE1A" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_NumberOfGroupsWithinEmployeePopulation" xlink:label="loc_cgnx_NumberOfGroupsWithinEmployeePopulation_4207886AAB676504979DAE19FC1DD28A" 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_4F5055A8702268D24592AE19FC1CD803" xlink:to="loc_cgnx_NumberOfGroupsWithinEmployeePopulation_4207886AAB676504979DAE19FC1DD28A" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement" xlink:label="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_41208FDCAD3C5EA21EF6AE19FC1D4670" 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_4F5055A8702268D24592AE19FC1CD803" xlink:to="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement_41208FDCAD3C5EA21EF6AE19FC1D4670" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement" xlink:label="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_BDF8C2874AC69DD60D1EAE19FC1E1E7D" 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_4F5055A8702268D24592AE19FC1CD803" xlink:to="loc_cgnx_EstimatedForfeitureRateForUnvestedOptionsForAllNonSeniorManagement_BDF8C2874AC69DD60D1EAE19FC1E1E7D" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates" xlink:label="loc_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_EDF69F4D57A52498899AAE19FC1E0722" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_4F5055A8702268D24592AE19FC1CD803" xlink:to="loc_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates_EDF69F4D57A52498899AAE19FC1E0722" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_1BB3693B2BB65CB19964AE19FC1E7157" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_4F5055A8702268D24592AE19FC1CD803" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_1BB3693B2BB65CB19964AE19FC1E7157" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue" xlink:label="loc_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_428DD7D2E54047923C24AE19FC1ED5F0" 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_4F5055A8702268D24592AE19FC1CD803" xlink:to="loc_cgnx_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue_428DD7D2E54047923C24AE19FC1ED5F0" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue" xlink:label="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_8F7C820B6E3DC8670049AE19FC1EF411" 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_4F5055A8702268D24592AE19FC1CD803" xlink:to="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue_8F7C820B6E3DC8670049AE19FC1EF411" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_522C2F6CC4532955D636AE19FC1E82CD" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_4F5055A8702268D24592AE19FC1CD803" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized_522C2F6CC4532955D636AE19FC1E82CD" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition" xlink:label="loc_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition_EC62D66A90DD257B81FEAE19FC1E4A4D" 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_4F5055A8702268D24592AE19FC1CD803" xlink:to="loc_cgnx_EmployeeServiceSharebasedCompensationNonvestedAwardsCompensationNotyetRecognizedPeriodforRecognition_EC62D66A90DD257B81FEAE19FC1E4A4D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_B503FE1BBF2621AC69ECAE19FC1F3FA8" 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_4F5055A8702268D24592AE19FC1CD803" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_B503FE1BBF2621AC69ECAE19FC1F3FA8" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_F35D3FCA14084DBA15C5AE19FC1F11C5" 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_4F5055A8702268D24592AE19FC1CD803" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense_F35D3FCA14084DBA15C5AE19FC1F11C5" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount" xlink:label="loc_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_85E087B4A1717D5B7025AE19FC1F7E05" 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_4F5055A8702268D24592AE19FC1CD803" xlink:to="loc_cgnx_EmployeeServiceShareBasedCompensationRecognizedPeriodCostsCapitalizedAmount_85E087B4A1717D5B7025AE19FC1F7E05" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_Vestingperiodperformancebasedrestrictedstockyears" xlink:label="loc_cgnx_Vestingperiodperformancebasedrestrictedstockyears_80B50BFEA6ADF02F0157AE19FC1FE381" 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_4F5055A8702268D24592AE19FC1CD803" xlink:to="loc_cgnx_Vestingperiodperformancebasedrestrictedstockyears_80B50BFEA6ADF02F0157AE19FC1FE381" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_Vestingperiodtimebasedrestrictedstockyears" xlink:label="loc_cgnx_Vestingperiodtimebasedrestrictedstockyears_AF6D25A7C71B88BEAACDAE19FC1F4FE2" 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_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardLineItems_4F5055A8702268D24592AE19FC1CD803" xlink:to="loc_cgnx_Vestingperiodtimebasedrestrictedstockyears_AF6D25A7C71B88BEAACDAE19FC1F4FE2" xlink:type="arc" />
  </link:presentationLink>
  <link:presentationLink xlink:role="http://www.cognex.com/role/StockBasedCompensationExpenseNonvestedRestrictedStockSharesActivityDetails" xlink:type="extended">
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_8A006D65D6995AF74768A9F25C758AD0" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_C38ABF825012F7EC7916A9F25C76784D" 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_8A006D65D6995AF74768A9F25C758AD0" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_C38ABF825012F7EC7916A9F25C76784D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AwardTypeAxis" xlink:label="loc_us-gaap_AwardTypeAxis_E6EB2C9FCA075F5A52DEA9F25C768AB2" 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_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_C38ABF825012F7EC7916A9F25C76784D" xlink:to="loc_us-gaap_AwardTypeAxis_E6EB2C9FCA075F5A52DEA9F25C768AB2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_31833E1A7D4C1AD8EBB0A9F25C76E2FD" 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_AwardTypeAxis_E6EB2C9FCA075F5A52DEA9F25C768AB2" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardAwardTypeAndPlanNameDomain_31833E1A7D4C1AD8EBB0A9F25C76E2FD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_RestrictedStockMember" xlink:label="loc_us-gaap_RestrictedStockMember_4BC377364B95E2639E5DA9F25C77D16E" 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_31833E1A7D4C1AD8EBB0A9F25C76E2FD" xlink:to="loc_us-gaap_RestrictedStockMember_4BC377364B95E2639E5DA9F25C77D16E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems" xlink:label="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_A3C37FC2BAF1749C7E9FA9F25C779A3B" 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_ScheduleOfShareBasedCompensationSharesAuthorizedUnderStockOptionPlansByExercisePriceRangeTable_C38ABF825012F7EC7916A9F25C76784D" xlink:to="loc_us-gaap_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_A3C37FC2BAF1749C7E9FA9F25C779A3B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_9E0921D1CFD374EEC298A9F25C77C5DE" 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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_A3C37FC2BAF1749C7E9FA9F25C779A3B" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_9E0921D1CFD374EEC298A9F25C77C5DE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_8F2EC6D7063A18DDE7D9A9F25C77D75E" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_9E0921D1CFD374EEC298A9F25C77C5DE" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_8F2EC6D7063A18DDE7D9A9F25C77D75E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_0061ACC607A0BB6C00F7A9F25C774510" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_9E0921D1CFD374EEC298A9F25C77C5DE" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod_0061ACC607A0BB6C00F7A9F25C774510" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_72F5C892769E27F535CAA9F25C78B59A" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_9E0921D1CFD374EEC298A9F25C77C5DE" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod_72F5C892769E27F535CAA9F25C78B59A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_526AE0CB00263C38DA60A9F25C78465B" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_9E0921D1CFD374EEC298A9F25C77C5DE" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod_526AE0CB00263C38DA60A9F25C78465B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_99F8276A9104B55FD826A9F25C780291" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward_9E0921D1CFD374EEC298A9F25C77C5DE" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber_99F8276A9104B55FD826A9F25C780291" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_EC383F6FB956BCB1E168A9F25C78A2A1" 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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_A3C37FC2BAF1749C7E9FA9F25C779A3B" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_EC383F6FB956BCB1E168A9F25C78A2A1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_5EF3F7CBFCEDEAF55CE2A9F25C781847" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_EC383F6FB956BCB1E168A9F25C78A2A1" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_5EF3F7CBFCEDEAF55CE2A9F25C781847" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_AF42259899F978F1945DA9F25C787FE4" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_EC383F6FB956BCB1E168A9F25C78A2A1" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue_AF42259899F978F1945DA9F25C787FE4" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_7B0D0348E525AADDC347A9F25C791FA5" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_EC383F6FB956BCB1E168A9F25C78A2A1" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue_7B0D0348E525AADDC347A9F25C791FA5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_B4DE14ACF8AD117D64A6A9F25C79A167" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_EC383F6FB956BCB1E168A9F25C78A2A1" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue_B4DE14ACF8AD117D64A6A9F25C79A167" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_7619F751433E834F9B0FA9F25C7E1773" 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward_EC383F6FB956BCB1E168A9F25C78A2A1" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue_7619F751433E834F9B0FA9F25C7E1773" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract_C4F555CD77BD58375678A9F25C7E3E5F" 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_ShareBasedCompensationSharesAuthorizedUnderStockOptionPlansExercisePriceRangeLineItems_A3C37FC2BAF1749C7E9FA9F25C779A3B" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract_C4F555CD77BD58375678A9F25C7E3E5F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_DB26AC317E4CE4874F85A9F25C7E3BBB" 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_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract_C4F555CD77BD58375678A9F25C7E3E5F" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested_DB26AC317E4CE4874F85A9F25C7E3BBB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested_64923AA7979B9501B73EA9F25C7F377B" 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_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract_C4F555CD77BD58375678A9F25C7E3E5F" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested_64923AA7979B9501B73EA9F25C7F377B" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTable_6117A8926AF211D7CD2094A1502DB49C" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeStatementLocationAxis" xlink:label="loc_us-gaap_IncomeStatementLocationAxis_5C88D78D614989BCC19A94A1502EE7E0" 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_6117A8926AF211D7CD2094A1502DB49C" xlink:to="loc_us-gaap_IncomeStatementLocationAxis_5C88D78D614989BCC19A94A1502EE7E0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeStatementLocationDomain" xlink:label="loc_us-gaap_IncomeStatementLocationDomain_9A0E5BC672D94C78C02D94A1502EDD64" 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_5C88D78D614989BCC19A94A1502EE7E0" xlink:to="loc_us-gaap_IncomeStatementLocationDomain_9A0E5BC672D94C78C02D94A1502EDD64" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CostOfGoodsTotalMember" xlink:label="loc_us-gaap_CostOfGoodsTotalMember_F5880FAB2C7523D67D7D94A1502F7A28" 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_9A0E5BC672D94C78C02D94A1502EDD64" xlink:to="loc_us-gaap_CostOfGoodsTotalMember_F5880FAB2C7523D67D7D94A1502F7A28" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ResearchAndDevelopmentExpenseMember" xlink:label="loc_us-gaap_ResearchAndDevelopmentExpenseMember_EB806C288266F05846BA94A1502F356E" 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_9A0E5BC672D94C78C02D94A1502EDD64" xlink:to="loc_us-gaap_ResearchAndDevelopmentExpenseMember_EB806C288266F05846BA94A1502F356E" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_SellingGeneralAndAdministrativeMember" xlink:label="loc_cgnx_SellingGeneralAndAdministrativeMember_FEF514AB20A011E84DA594A1502F59D7" 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_9A0E5BC672D94C78C02D94A1502EDD64" xlink:to="loc_cgnx_SellingGeneralAndAdministrativeMember_FEF514AB20A011E84DA594A1502F59D7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems" xlink:label="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_5DEBA24C4AB8AB14A86894A1502FF989" 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_6117A8926AF211D7CD2094A1502DB49C" xlink:to="loc_us-gaap_EmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsLineItems_5DEBA24C4AB8AB14A86894A1502FF989" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AllocatedShareBasedCompensationExpense" xlink:label="loc_us-gaap_AllocatedShareBasedCompensationExpense_829EFE4EAE551E0E52B294A150302BA2" 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_5DEBA24C4AB8AB14A86894A1502FF989" xlink:to="loc_us-gaap_AllocatedShareBasedCompensationExpense_829EFE4EAE551E0E52B294A150302BA2" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_576E9036A1EDA7481FA6B895CDC4F1F6" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_F9608DB181DC9CCC0FAAB895CDC42316" 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_576E9036A1EDA7481FA6B895CDC4F1F6" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward_F9608DB181DC9CCC0FAAB895CDC42316" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_A1247C87B66A4275C19EB895CDC58209" 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_F9608DB181DC9CCC0FAAB895CDC42316" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_A1247C87B66A4275C19EB895CDC58209" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_4C4A3C1AE94CCA35D1F6B895CDC5CB01" 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_F9608DB181DC9CCC0FAAB895CDC42316" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriod_4C4A3C1AE94CCA35D1F6B895CDC5CB01" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised" xlink:label="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_3F9EBBB149102CFC5EC3B895CDC5DACB" 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_F9608DB181DC9CCC0FAAB895CDC42316" xlink:to="loc_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised_3F9EBBB149102CFC5EC3B895CDC5DACB" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_D3D48485624E765486F3B895CDC5F2BD" 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_F9608DB181DC9CCC0FAAB895CDC42316" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod_D3D48485624E765486F3B895CDC5F2BD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_518D310C0BF9427F99CDB895CDC5008E" 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_F9608DB181DC9CCC0FAAB895CDC42316" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber_518D310C0BF9427F99CDB895CDC5008E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_F75F846C68E5BF61B0B2B895CDC6C2D3" 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_576E9036A1EDA7481FA6B895CDC4F1F6" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber_F75F846C68E5BF61B0B2B895CDC6C2D3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber_B10ACC0BD3C5F2756B5BB895CDC685A7" 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_576E9036A1EDA7481FA6B895CDC4F1F6" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber_B10ACC0BD3C5F2756B5BB895CDC685A7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_93B684A608F5BACEE882B895CDC62111" 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_576E9036A1EDA7481FA6B895CDC4F1F6" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePriceRollforward_93B684A608F5BACEE882B895CDC62111" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_54B61E6199594C7509FEB895CDC6EE7F" 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_93B684A608F5BACEE882B895CDC62111" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_54B61E6199594C7509FEB895CDC6EE7F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_FD9471DF02ACE4D0C20EB895CDC6224C" 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_93B684A608F5BACEE882B895CDC62111" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice_FD9471DF02ACE4D0C20EB895CDC6224C" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_A610C0E012BDCFD36F36B895CDC68958" 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_93B684A608F5BACEE882B895CDC62111" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice_A610C0E012BDCFD36F36B895CDC68958" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_3C5D2C95EC9D2CE42CD0B895CDC7B035" 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_93B684A608F5BACEE882B895CDC62111" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice_3C5D2C95EC9D2CE42CD0B895CDC7B035" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_B441600C93945CB30DE3B895CDC7CC2E" 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_93B684A608F5BACEE882B895CDC62111" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice_B441600C93945CB30DE3B895CDC7CC2E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_367BD1A755BCB11BD015B895CDC7A1BA" 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_576E9036A1EDA7481FA6B895CDC4F1F6" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice_367BD1A755BCB11BD015B895CDC7A1BA" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_9E68E77FF0FB4A47265EB895CDC7E484" 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_576E9036A1EDA7481FA6B895CDC4F1F6" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice_9E68E77FF0FB4A47265EB895CDC7E484" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_E64CEB82F7878D9163F3B895CDC7BC4A" 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_576E9036A1EDA7481FA6B895CDC4F1F6" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract_E64CEB82F7878D9163F3B895CDC7BC4A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_DF48B55A3D59E1DCCC3CB895CDC8B0C1" 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_E64CEB82F7878D9163F3B895CDC7BC4A" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2_DF48B55A3D59E1DCCC3CB895CDC8B0C1" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_C7E28CCFEB257ED5BD94B895CDC8CCE2" 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_E64CEB82F7878D9163F3B895CDC7BC4A" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1_C7E28CCFEB257ED5BD94B895CDC8CCE2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_CCEBD0DED5E92854303BB895CDC8D7F1" 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_E64CEB82F7878D9163F3B895CDC7BC4A" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1_CCEBD0DED5E92854303BB895CDC8D7F1" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract" xlink:label="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract_A72465DF709575B60739B895CDC80A7D" 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_576E9036A1EDA7481FA6B895CDC4F1F6" xlink:to="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract_A72465DF709575B60739B895CDC80A7D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_89296C4CC887515DE45FB895CDC8EB71" 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_A72465DF709575B60739B895CDC80A7D" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue_89296C4CC887515DE45FB895CDC8EB71" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue" xlink:label="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue_A188B9A765F2B0DD5EBEB895CDC92ACE" 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_A72465DF709575B60739B895CDC80A7D" xlink:to="loc_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue_A188B9A765F2B0DD5EBEB895CDC92ACE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_18F00AEC2DE32128DE8AB895CDC92B0D" 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_A72465DF709575B60739B895CDC80A7D" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue_18F00AEC2DE32128DE8AB895CDC92B0D" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_2568E734C3AE6E9051D694A14EE50246" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_FC3B67654476B8BC6B1D94A14EE5D399" 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_2568E734C3AE6E9051D694A14EE50246" xlink:to="loc_us-gaap_ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock_FC3B67654476B8BC6B1D94A14EE5D399" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_5E5B3F223B6DEF07782B94A14EE518D3" 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_2568E734C3AE6E9051D694A14EE50246" xlink:to="loc_us-gaap_ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock_5E5B3F223B6DEF07782B94A14EE518D3" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock" xlink:label="loc_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock_ED91033905F1D8C51F4794A14EE54FC0" 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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_2568E734C3AE6E9051D694A14EE50246" xlink:to="loc_us-gaap_NonvestedRestrictedStockSharesActivityTableTextBlock_ED91033905F1D8C51F4794A14EE54FC0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock" xlink:label="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_EEE71B249BD3C020222694A14EE61500" 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_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_2568E734C3AE6E9051D694A14EE50246" xlink:to="loc_us-gaap_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock_EEE71B249BD3C020222694A14EE61500" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract" xlink:label="loc_us-gaap_DisclosureOfCompensationRelatedCostsSharebasedPaymentsAbstract_649EACBDA0411514A2B394A14EA64C8F" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_9A46A912FFCB6EC2C8A494A14EA7B9FF" 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_649EACBDA0411514A2B394A14EA64C8F" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate_9A46A912FFCB6EC2C8A494A14EA7B9FF" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_C2547C383044725B51D594A14EB0CB3F" 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_649EACBDA0411514A2B394A14EA64C8F" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate_C2547C383044725B51D594A14EB0CB3F" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate" xlink:label="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_7E89902572C87E4B433994A14EB1BF98" 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_649EACBDA0411514A2B394A14EA64C8F" xlink:to="loc_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate_7E89902572C87E4B433994A14EB1BF98" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1" xlink:label="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_4FCDE78648F341DF729394A14EB1A65D" 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_649EACBDA0411514A2B394A14EA64C8F" xlink:to="loc_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1_4FCDE78648F341DF729394A14EB1A65D" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaap_EquityAbstract_FBD2E642C7358AAE29C094A14EE8D81C" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockholdersEquityNoteDisclosureTextBlock" xlink:label="loc_us-gaap_StockholdersEquityNoteDisclosureTextBlock_10FA0B1DAE388A37F2A494A14EE8E6EC" 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_FBD2E642C7358AAE29C094A14EE8D81C" xlink:to="loc_us-gaap_StockholdersEquityNoteDisclosureTextBlock_10FA0B1DAE388A37F2A494A14EE8E6EC" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EquityAbstract" xlink:label="loc_us-gaap_EquityAbstract_45021F8D87F891200B26AEE587B175D3" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ClassOfTreasuryStockTable" xlink:label="loc_us-gaap_ClassOfTreasuryStockTable_192E49EE6A82973C7FB6AEE587B67943" 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_45021F8D87F891200B26AEE587B175D3" xlink:to="loc_us-gaap_ClassOfTreasuryStockTable_192E49EE6A82973C7FB6AEE587B67943" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareRepurchaseProgramAxis" xlink:label="loc_us-gaap_ShareRepurchaseProgramAxis_717D5F791E0AD8B0F417AEE587B8E2E9" 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_192E49EE6A82973C7FB6AEE587B67943" xlink:to="loc_us-gaap_ShareRepurchaseProgramAxis_717D5F791E0AD8B0F417AEE587B8E2E9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ShareRepurchaseProgramDomain" xlink:label="loc_us-gaap_ShareRepurchaseProgramDomain_1F84CEB00A3305715554AEE587B8954B" 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_717D5F791E0AD8B0F417AEE587B8E2E9" xlink:to="loc_us-gaap_ShareRepurchaseProgramDomain_1F84CEB00A3305715554AEE587B8954B" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_RepurchaseProgramApril2017Member" xlink:label="loc_cgnx_RepurchaseProgramApril2017Member_A841CCD45B4889D1B149AEE587B99DEB" 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_1F84CEB00A3305715554AEE587B8954B" xlink:to="loc_cgnx_RepurchaseProgramApril2017Member_A841CCD45B4889D1B149AEE587B99DEB" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_RepurchaseProgramFebruary2018Member" xlink:label="loc_cgnx_RepurchaseProgramFebruary2018Member_8BD115F9AFFAEF47D67AAEE587B9103A" 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_ShareRepurchaseProgramDomain_1F84CEB00A3305715554AEE587B8954B" xlink:to="loc_cgnx_RepurchaseProgramFebruary2018Member_8BD115F9AFFAEF47D67AAEE587B9103A" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_RepurchaseProgramApril2017andFebruary2018Member" xlink:label="loc_cgnx_RepurchaseProgramApril2017andFebruary2018Member_D4F43D790DEBBF570F66AEE587BA9CBC" 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_ShareRepurchaseProgramDomain_1F84CEB00A3305715554AEE587B8954B" xlink:to="loc_cgnx_RepurchaseProgramApril2017andFebruary2018Member_D4F43D790DEBBF570F66AEE587BA9CBC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EquityClassOfTreasuryStockLineItems" xlink:label="loc_us-gaap_EquityClassOfTreasuryStockLineItems_DC611471ADB6CE1FFD1EAEE587BA14C0" 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_192E49EE6A82973C7FB6AEE587B67943" xlink:to="loc_us-gaap_EquityClassOfTreasuryStockLineItems_DC611471ADB6CE1FFD1EAEE587BA14C0" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockRepurchaseProgramAuthorizedAmount1" xlink:label="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1_373C6227CD334849F9A8AEE587BA9FCC" 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_DC611471ADB6CE1FFD1EAEE587BA14C0" xlink:to="loc_us-gaap_StockRepurchaseProgramAuthorizedAmount1_373C6227CD334849F9A8AEE587BA9FCC" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased" xlink:label="loc_cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased_2D17CD4CA2DB20B5F3C6AEE587BAB4C1" 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_DC611471ADB6CE1FFD1EAEE587BA14C0" xlink:to="loc_cgnx_StockRepurchaseProgramAggregateNumberofSharesRepurchased_2D17CD4CA2DB20B5F3C6AEE587BAB4C1" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_StockRepurchaseProgramValue" xlink:label="loc_cgnx_StockRepurchaseProgramValue_13CE4624D74A1EE2E2A0AEE587BA8B72" 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_DC611471ADB6CE1FFD1EAEE587BA14C0" xlink:to="loc_cgnx_StockRepurchaseProgramValue_13CE4624D74A1EE2E2A0AEE587BA8B72" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodShares" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodShares_1446200E91D9F48CC9FCAEE587BB03C6" 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_DC611471ADB6CE1FFD1EAEE587BA14C0" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodShares_1446200E91D9F48CC9FCAEE587BB03C6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockRepurchasedDuringPeriodValue" xlink:label="loc_us-gaap_StockRepurchasedDuringPeriodValue_F016FB8406FB9E1C0DE9AEE587BB5806" 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_EquityClassOfTreasuryStockLineItems_DC611471ADB6CE1FFD1EAEE587BA14C0" xlink:to="loc_us-gaap_StockRepurchasedDuringPeriodValue_F016FB8406FB9E1C0DE9AEE587BB5806" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1" xlink:label="loc_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_71EE2082858261233D10AEE587BB37C8" 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_DC611471ADB6CE1FFD1EAEE587BA14C0" xlink:to="loc_us-gaap_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1_71EE2082858261233D10AEE587BB37C8" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="loc_us-gaap_SubsequentEventsAbstract_14B9703CBE94D6F0C5ED94A14FF13D5A" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SubsequentEventsTextBlock" xlink:label="loc_us-gaap_SubsequentEventsTextBlock_D2598E97547E0541EA8994A14FF11770" 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_14B9703CBE94D6F0C5ED94A14FF13D5A" xlink:to="loc_us-gaap_SubsequentEventsTextBlock_D2598E97547E0541EA8994A14FF11770" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SubsequentEventsAbstract" xlink:label="loc_us-gaap_SubsequentEventsAbstract_723872CECCA2AF6FDEABA9F25B8E0CD4" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SubsequentEventTable" xlink:label="loc_us-gaap_SubsequentEventTable_D67086646D42B1C05232A9F25B8EC51D" 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_723872CECCA2AF6FDEABA9F25B8E0CD4" xlink:to="loc_us-gaap_SubsequentEventTable_D67086646D42B1C05232A9F25B8EC51D" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SubsequentEventTypeAxis" xlink:label="loc_us-gaap_SubsequentEventTypeAxis_6A5B06A3C8E9B850F859A9F25B8E9AB9" 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_D67086646D42B1C05232A9F25B8EC51D" xlink:to="loc_us-gaap_SubsequentEventTypeAxis_6A5B06A3C8E9B850F859A9F25B8E9AB9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SubsequentEventTypeDomain" xlink:label="loc_us-gaap_SubsequentEventTypeDomain_9BA30A4A74422EE6B367A9F25B8F7035" 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_6A5B06A3C8E9B850F859A9F25B8E9AB9" xlink:to="loc_us-gaap_SubsequentEventTypeDomain_9BA30A4A74422EE6B367A9F25B8F7035" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SubsequentEventMember" xlink:label="loc_us-gaap_SubsequentEventMember_C775B3E1B6F88D0BAB8EA9F25B8F9C94" 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_9BA30A4A74422EE6B367A9F25B8F7035" xlink:to="loc_us-gaap_SubsequentEventMember_C775B3E1B6F88D0BAB8EA9F25B8F9C94" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SubsequentEventLineItems" xlink:label="loc_us-gaap_SubsequentEventLineItems_AEA98E8CD616062BC703A9F25B8FDE2B" 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_D67086646D42B1C05232A9F25B8EC51D" xlink:to="loc_us-gaap_SubsequentEventLineItems_AEA98E8CD616062BC703A9F25B8FDE2B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_Dividends" xlink:label="loc_us-gaap_Dividends_7AEB9B9699ED194D8D3AA9F25B8FBE68" 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_AEA98E8CD616062BC703A9F25B8FDE2B" xlink:to="loc_us-gaap_Dividends_7AEB9B9699ED194D8D3AA9F25B8FBE68" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DividendPayableDateToBePaidDayMonthAndYear" xlink:label="loc_us-gaap_DividendPayableDateToBePaidDayMonthAndYear_B8E03517EBE4BAF65C4FA9F25B9039B6" 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_AEA98E8CD616062BC703A9F25B8FDE2B" xlink:to="loc_us-gaap_DividendPayableDateToBePaidDayMonthAndYear_B8E03517EBE4BAF65C4FA9F25B9039B6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DividendsPayableDateOfRecordDayMonthAndYear" xlink:label="loc_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear_8AB4FF3B056A5CCF8F02A9F25B95E9AF" 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_AEA98E8CD616062BC703A9F25B8FDE2B" xlink:to="loc_us-gaap_DividendsPayableDateOfRecordDayMonthAndYear_8AB4FF3B056A5CCF8F02A9F25B95E9AF" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_D8192BB07E7BE23397F394A14F4360BC" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_SignificantAccountingPoliciesTextBlock" xlink:label="loc_us-gaap_SignificantAccountingPoliciesTextBlock_C04502A55913AA830C2A94A14F4364CC" 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_D8192BB07E7BE23397F394A14F4360BC" xlink:to="loc_us-gaap_SignificantAccountingPoliciesTextBlock_C04502A55913AA830C2A94A14F4364CC" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccountingPoliciesAbstract" xlink:label="loc_us-gaap_AccountingPoliciesAbstract_51B4E2C81B7AA0FEF78FB8D3FF30B1AF" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_RevenueRecognitionPolicyTextBlock" xlink:label="loc_us-gaap_RevenueRecognitionPolicyTextBlock_E60B2FDB4FB371E7B6BAB8D41468B83B" 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_51B4E2C81B7AA0FEF78FB8D3FF30B1AF" xlink:to="loc_us-gaap_RevenueRecognitionPolicyTextBlock_E60B2FDB4FB371E7B6BAB8D41468B83B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock" xlink:label="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_37FF9BF5455FF76D0464B8D4E24F92CA" 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_51B4E2C81B7AA0FEF78FB8D3FF30B1AF" xlink:to="loc_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock_37FF9BF5455FF76D0464B8D4E24F92CA" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_5966BACA070C2163362894A14FFFB138" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxDisclosureTextBlock" xlink:label="loc_us-gaap_IncomeTaxDisclosureTextBlock_C60A0AE0CF99628F0A1C94A150004BB8" 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_5966BACA070C2163362894A14FFFB138" xlink:to="loc_us-gaap_IncomeTaxDisclosureTextBlock_C60A0AE0CF99628F0A1C94A150004BB8" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_DF987DD4070319B378B4B894E1116D61" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxContingencyTable" xlink:label="loc_us-gaap_IncomeTaxContingencyTable_316E054C219B1FCC8647B894E1127F22" 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_DF987DD4070319B378B4B894E1116D61" xlink:to="loc_us-gaap_IncomeTaxContingencyTable_316E054C219B1FCC8647B894E1127F22" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AdjustmentsForNewAccountingPronouncementsAxis" xlink:label="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_7A6B55DEA4AA9978DAA4B894E112F4D6" 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_316E054C219B1FCC8647B894E1127F22" xlink:to="loc_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis_7A6B55DEA4AA9978DAA4B894E112F4D6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_TypeOfAdoptionMember" xlink:label="loc_us-gaap_TypeOfAdoptionMember_BEFDDF135772C48F1FCEB894E1135ADD" 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_7A6B55DEA4AA9978DAA4B894E112F4D6" xlink:to="loc_us-gaap_TypeOfAdoptionMember_BEFDDF135772C48F1FCEB894E1135ADD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AccountingStandardsUpdate201616Member" xlink:label="loc_us-gaap_AccountingStandardsUpdate201616Member_EE1B9C36D74D06D603EBB894E11349C2" 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_TypeOfAdoptionMember_BEFDDF135772C48F1FCEB894E1135ADD" xlink:to="loc_us-gaap_AccountingStandardsUpdate201616Member_EE1B9C36D74D06D603EBB894E11349C2" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxAuthorityAxis" xlink:label="loc_us-gaap_IncomeTaxAuthorityAxis_E618489F49561EFEE37CB894E1138596" 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_316E054C219B1FCC8647B894E1127F22" xlink:to="loc_us-gaap_IncomeTaxAuthorityAxis_E618489F49561EFEE37CB894E1138596" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxAuthorityDomain" xlink:label="loc_us-gaap_IncomeTaxAuthorityDomain_DF71BE8F0B8C1F2FD6B6B894E114AB40" 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_E618489F49561EFEE37CB894E1138596" xlink:to="loc_us-gaap_IncomeTaxAuthorityDomain_DF71BE8F0B8C1F2FD6B6B894E114AB40" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ForeignCountryMember" xlink:label="loc_us-gaap_ForeignCountryMember_05A2CE4B41B0FD3CCD81B894E114AFF9" 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_DF71BE8F0B8C1F2FD6B6B894E114AB40" xlink:to="loc_us-gaap_ForeignCountryMember_05A2CE4B41B0FD3CCD81B894E114AFF9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_DomesticCountryMember" xlink:label="loc_us-gaap_DomesticCountryMember_6D51A738601F00D0F1C6B894E114FCEE" 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_DF71BE8F0B8C1F2FD6B6B894E114AB40" xlink:to="loc_us-gaap_DomesticCountryMember_6D51A738601F00D0F1C6B894E114FCEE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxAuthorityNameAxis" xlink:label="loc_us-gaap_IncomeTaxAuthorityNameAxis_BE2A4BAA31CB4F048800B894E114BD89" 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_316E054C219B1FCC8647B894E1127F22" xlink:to="loc_us-gaap_IncomeTaxAuthorityNameAxis_BE2A4BAA31CB4F048800B894E114BD89" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxAuthorityNameDomain" xlink:label="loc_us-gaap_IncomeTaxAuthorityNameDomain_D155FDF0A305F2E72B0FB894E115C313" 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_BE2A4BAA31CB4F048800B894E114BD89" xlink:to="loc_us-gaap_IncomeTaxAuthorityNameDomain_D155FDF0A305F2E72B0FB894E115C313" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_RevenueCommissionersIrelandMember" xlink:label="loc_us-gaap_RevenueCommissionersIrelandMember_9A81B808EBB299CA1F04B894E1152B72" 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_D155FDF0A305F2E72B0FB894E115C313" xlink:to="loc_us-gaap_RevenueCommissionersIrelandMember_9A81B808EBB299CA1F04B894E1152B72" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StateAdministrationOfTaxationChinaMember" xlink:label="loc_us-gaap_StateAdministrationOfTaxationChinaMember_7A0644AA961D6684534BB894E1150435" 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_D155FDF0A305F2E72B0FB894E115C313" xlink:to="loc_us-gaap_StateAdministrationOfTaxationChinaMember_7A0644AA961D6684534BB894E1150435" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxContingencyLineItems" xlink:label="loc_us-gaap_IncomeTaxContingencyLineItems_9E3BB5CBFED74BBE727EB894E115D4D6" 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_316E054C219B1FCC8647B894E1127F22" xlink:to="loc_us-gaap_IncomeTaxContingencyLineItems_9E3BB5CBFED74BBE727EB894E115D4D6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_EEBA517B3B46D35157C3B894E1155E7B" 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_9E3BB5CBFED74BBE727EB894E115D4D6" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_EEBA517B3B46D35157C3B894E1155E7B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_D45B66965C9F1E1A319DB894E11692A6" 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_9E3BB5CBFED74BBE727EB894E115D4D6" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_D45B66965C9F1E1A319DB894E11692A6" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_CumulativeEffectOnRetainedEarningsNetOfTax1" xlink:label="loc_us-gaap_CumulativeEffectOnRetainedEarningsNetOfTax1_E740AC46B2D3A1BBC785B894E116574E" 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_9E3BB5CBFED74BBE727EB894E115D4D6" xlink:to="loc_us-gaap_CumulativeEffectOnRetainedEarningsNetOfTax1_E740AC46B2D3A1BBC785B894E116574E" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent" xlink:label="loc_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_F6DFF169E497D461B77AB894E116D4D5" 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_DF987DD4070319B378B4B894E1116D61" xlink:to="loc_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_F6DFF169E497D461B77AB894E116D4D5" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear" xlink:label="loc_us-gaap_IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear_208D3133077CEA5E2BD4B894E116F9F2" 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_IncomeTaxDisclosureAbstract_DF987DD4070319B378B4B894E1116D61" xlink:to="loc_us-gaap_IncomeTaxExaminationIncreaseDecreaseInLiabilityFromPriorYear_208D3133077CEA5E2BD4B894E116F9F2" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_IncreaseDecreaseInterestAndPenalties" xlink:label="loc_cgnx_IncreaseDecreaseInterestAndPenalties_29AE48A66A482ADD0F2BB894E1163A5D" 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_IncomeTaxDisclosureAbstract_DF987DD4070319B378B4B894E1116D61" xlink:to="loc_cgnx_IncreaseDecreaseInterestAndPenalties_29AE48A66A482ADD0F2BB894E1163A5D" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_LiabilityForUncertainTaxPositions" xlink:label="loc_cgnx_LiabilityForUncertainTaxPositions_EAF60EBE191FB4171BD8B894E116BE72" 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_IncomeTaxDisclosureAbstract_DF987DD4070319B378B4B894E1116D61" xlink:to="loc_cgnx_LiabilityForUncertainTaxPositions_EAF60EBE191FB4171BD8B894E116BE72" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_LiabilityForUncertainTaxPositionsNoncurrent" xlink:label="loc_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_69E450F275FF4BB846FDB894E1179334" xlink:type="locator" />
    <link:presentationArc order="6" 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_DF987DD4070319B378B4B894E1116D61" xlink:to="loc_us-gaap_LiabilityForUncertainTaxPositionsNoncurrent_69E450F275FF4BB846FDB894E1179334" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets" xlink:label="loc_cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets_5416A797E928B946BD44B894E1174544" 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_IncomeTaxDisclosureAbstract_DF987DD4070319B378B4B894E1116D61" xlink:to="loc_cgnx_Unrecognizedtaxbenefitshownasareductiontononcurrentdeferredtaxassets_5416A797E928B946BD44B894E1174544" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued" xlink:label="loc_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_FE0E08EE3D52A7797003B894E117E690" 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_DF987DD4070319B378B4B894E1116D61" xlink:to="loc_us-gaap_UnrecognizedTaxBenefitsIncomeTaxPenaltiesAndInterestAccrued_FE0E08EE3D52A7797003B894E117E690" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves" xlink:label="loc_cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_560B1F220A38820F98C9B894E117CFEC" 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_DF987DD4070319B378B4B894E1116D61" xlink:to="loc_cgnx_MinimumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_560B1F220A38820F98C9B894E117CFEC" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves" xlink:label="loc_cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_D68BE29C7FF3B5AFF69FB894E1188787" 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_IncomeTaxDisclosureAbstract_DF987DD4070319B378B4B894E1116D61" xlink:to="loc_cgnx_MaximumDecreaseInIncomeTaxExpenseDueToReleaseInReserves_D68BE29C7FF3B5AFF69FB894E1188787" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_TaxyearsopentoexaminationbyInternalRevenueService" xlink:label="loc_cgnx_TaxyearsopentoexaminationbyInternalRevenueService_8628A227E2D652909BA8B894E118B375" 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_us-gaap_IncomeTaxDisclosureAbstract_DF987DD4070319B378B4B894E1116D61" xlink:to="loc_cgnx_TaxyearsopentoexaminationbyInternalRevenueService_8628A227E2D652909BA8B894E118B375" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities" xlink:label="loc_cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities_730124454D5C6620BCD2B894E118AF30" 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_IncomeTaxDisclosureAbstract_DF987DD4070319B378B4B894E1116D61" xlink:to="loc_cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities_730124454D5C6620BCD2B894E118AF30" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_CC36A1F9DD932F8569FDAEEA1072B226" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_5357C3CE104BE7555CFFAEEA107741FD" 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_CC36A1F9DD932F8569FDAEEA1072B226" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate_5357C3CE104BE7555CFFAEEA107741FD" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_4930690E8069A301412EAEEA107D743A" 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_CC36A1F9DD932F8569FDAEEA1072B226" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes_4930690E8069A301412EAEEA107D743A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_9CAB1DE63CA8CAEC9BCFAEEA107DE8BE" 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_CC36A1F9DD932F8569FDAEEA1072B226" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationForeignIncomeTaxRateDifferential_9CAB1DE63CA8CAEC9BCFAEEA107DE8BE" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_64BAB93CE0E90D4902FAAEEA107DBE64" 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_CC36A1F9DD932F8569FDAEEA1072B226" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationTaxCredits_64BAB93CE0E90D4902FAAEEA107DBE64" xlink:type="arc" />
    <link:loc xlink:href="cgnx-20180701.xsd#cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent" xlink:label="loc_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_5BA0B001A6D98A2669ABAEEA107D2DCC" 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_CC36A1F9DD932F8569FDAEEA1072B226" xlink:to="loc_cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent_5BA0B001A6D98A2669ABAEEA107D2DCC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_0E6A22236754F9A0FFADAEEA107E617E" 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_CC36A1F9DD932F8569FDAEEA1072B226" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateReconciliationOtherAdjustments_0E6A22236754F9A0FFADAEEA107E617E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EffectiveIncomeTaxRateContinuingOperations" xlink:label="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_8EEAE088746F90B61D11AEEA107E2EDA" 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_IncomeTaxDisclosureAbstract_CC36A1F9DD932F8569FDAEEA1072B226" xlink:to="loc_us-gaap_EffectiveIncomeTaxRateContinuingOperations_8EEAE088746F90B61D11AEEA107E2EDA" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_IncomeTaxDisclosureAbstract" xlink:label="loc_us-gaap_IncomeTaxDisclosureAbstract_17FFAAFCD1A2FBCA2E9294A14FF9A870" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_040D967203B4AE79223F94A14FF95F0D" 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_17FFAAFCD1A2FBCA2E9294A14FF9A870" xlink:to="loc_us-gaap_ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock_040D967203B4AE79223F94A14FF95F0D" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ProductWarrantiesDisclosuresAbstract" xlink:label="loc_us-gaap_ProductWarrantiesDisclosuresAbstract_D13518BFCB2391908F0894A14E89E9F4" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ProductWarrantyDisclosureTextBlock" xlink:label="loc_us-gaap_ProductWarrantyDisclosureTextBlock_7ECC4F1D2C1B8EDD0FFC94A14E96CB71" 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_D13518BFCB2391908F0894A14E89E9F4" xlink:to="loc_us-gaap_ProductWarrantyDisclosureTextBlock_7ECC4F1D2C1B8EDD0FFC94A14E96CB71" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ProductWarrantiesDisclosuresAbstract" xlink:label="loc_us-gaap_ProductWarrantiesDisclosuresAbstract_62F79E0F55657B183BE4ADF76A9DFA2C" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_MovementInStandardProductWarrantyAccrualRollForward" xlink:label="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_2470AC184F432DD167FFADF76A9DDEE7" 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_62F79E0F55657B183BE4ADF76A9DFA2C" xlink:to="loc_us-gaap_MovementInStandardProductWarrantyAccrualRollForward_2470AC184F432DD167FFADF76A9DDEE7" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ProductWarrantyAccrual" xlink:label="loc_us-gaap_ProductWarrantyAccrual_7A91416B17D313149A5CADF76A9D57BC" 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_2470AC184F432DD167FFADF76A9DDEE7" xlink:to="loc_us-gaap_ProductWarrantyAccrual_7A91416B17D313149A5CADF76A9D57BC" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ProductWarrantyAccrualWarrantiesIssued" xlink:label="loc_us-gaap_ProductWarrantyAccrualWarrantiesIssued_40F89C2325C9B7B5AD4DADF76A9EAD5A" 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_2470AC184F432DD167FFADF76A9DDEE7" xlink:to="loc_us-gaap_ProductWarrantyAccrualWarrantiesIssued_40F89C2325C9B7B5AD4DADF76A9EAD5A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ProductWarrantyAccrualPayments" xlink:label="loc_us-gaap_ProductWarrantyAccrualPayments_BFE87C2E8CA5738E1F98ADF76A9E237A" 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_2470AC184F432DD167FFADF76A9DDEE7" xlink:to="loc_us-gaap_ProductWarrantyAccrualPayments_BFE87C2E8CA5738E1F98ADF76A9E237A" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss" xlink:label="loc_us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss_2B035D156EBC680272C1ADF76A9E4E5B" 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_MovementInStandardProductWarrantyAccrualRollForward_2470AC184F432DD167FFADF76A9DDEE7" xlink:to="loc_us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss_2B035D156EBC680272C1ADF76A9E4E5B" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ProductWarrantyAccrual" xlink:label="loc_us-gaap_ProductWarrantyAccrual_6ADF91E53DB73ECE5704ADF76A9E2438" 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_MovementInStandardProductWarrantyAccrualRollForward_2470AC184F432DD167FFADF76A9DDEE7" xlink:to="loc_us-gaap_ProductWarrantyAccrual_6ADF91E53DB73ECE5704ADF76A9E2438" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ProductWarrantiesDisclosuresAbstract" xlink:label="loc_us-gaap_ProductWarrantiesDisclosuresAbstract_27C7A7DB11685E4DEA2894A14F83A274" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_8F9FC89E8B60CAF10AB294A14F848DA0" 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_27C7A7DB11685E4DEA2894A14F83A274" xlink:to="loc_us-gaap_ScheduleOfProductWarrantyLiabilityTableTextBlock_8F9FC89E8B60CAF10AB294A14F848DA0" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaap_EarningsPerShareAbstract_76193B16F922CFFC3D5194A14FC5040B" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EarningsPerShareTextBlock" xlink:label="loc_us-gaap_EarningsPerShareTextBlock_14990AC92E5563F15AA594A14FC6B559" 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_76193B16F922CFFC3D5194A14FC5040B" xlink:to="loc_us-gaap_EarningsPerShareTextBlock_14990AC92E5563F15AA594A14FC6B559" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaap_EarningsPerShareAbstract_AE1B3551618CAB0054AE94A15004B801" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_WeightedAverageNumberOfSharesOutstandingBasic" xlink:label="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_7F3FAD60B5704A51CA1194A15004DAE9" 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_AE1B3551618CAB0054AE94A15004B801" xlink:to="loc_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic_7F3FAD60B5704A51CA1194A15004DAE9" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment" xlink:label="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_CBFD647A84B8D79EA27294A15004637E" 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_AE1B3551618CAB0054AE94A15004B801" xlink:to="loc_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment_CBFD647A84B8D79EA27294A15004637E" xlink:type="arc" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding" xlink:label="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_E010753B7949037693CB94A15005AA43" 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_AE1B3551618CAB0054AE94A15004B801" xlink:to="loc_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding_E010753B7949037693CB94A15005AA43" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaap_EarningsPerShareAbstract_D683FEDFA2AA5214010B94A14EE18358" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount" xlink:label="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_6412372AF83970BD012994A14EE2A312" 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_D683FEDFA2AA5214010B94A14EE18358" xlink:to="loc_us-gaap_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount_6412372AF83970BD012994A14EE2A312" 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/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_EarningsPerShareAbstract" xlink:label="loc_us-gaap_EarningsPerShareAbstract_7E6DBC2865BE9EDB236D94A150240280" xlink:type="locator" />
    <link:loc xlink:href="http://xbrl.fasb.org/us-gaap/2017/elts/us-gaap-2017-01-31.xsd#us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock" xlink:label="loc_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_DC51E59EA32A21436F7B94A150247471" 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_7E6DBC2865BE9EDB236D94A150240280" xlink:to="loc_us-gaap_ScheduleOfWeightedAverageNumberOfSharesTableTextBlock_DC51E59EA32A21436F7B94A150247471" xlink:type="arc" />
  </link:presentationLink>
</link:linkbase>
</XBRL>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>12
<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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6820046992">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Document and Entity Information<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th">
<div>Jul. 01, 2018 </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_cgnx_DocumentAndEntityInformationAbstract', window );"><strong>Document And Entity Information [Abstract]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityRegistrantName', window );">Entity Registrant Name</a></td>
<td class="text">COGNEX CORP<span></span>
</td>
</tr>
<tr 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_EntityCentralIndexKey', window );">Entity Central Index Key</a></td>
<td class="text">0000851205<span></span>
</td>
</tr>
<tr 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_CurrentFiscalYearEndDate', window );">Current Fiscal Year End Date</a></td>
<td class="text">--12-31<span></span>
</td>
</tr>
<tr 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_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_DocumentPeriodEndDate', window );">Document Period End Date</a></td>
<td class="text">Jul.  01,  2018<span></span>
</td>
</tr>
<tr 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">2018<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_DocumentFiscalPeriodFocus', window );">Document Fiscal Period Focus</a></td>
<td class="text">Q2<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_AmendmentFlag', window );">Amendment Flag</a></td>
<td class="text">false<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_dei_EntityCommonStockSharesOutstanding', window );">Entity Common Stock, Shares Outstanding</a></td>
<td class="nump">172,032,044<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_DocumentAndEntityInformationAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Document and entity information.</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_DocumentAndEntityInformationAbstract</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_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>If the value is true, then the document is an amendment to previously-filed/accepted document.</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_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>This is focus fiscal period of the document report. For a first quarter 2006 quarterly report, which may also provide financial information from prior periods, the first fiscal quarter should be given as the fiscal period focus. Values: FY, Q1, Q2, Q3, Q4, H1, H2, M9, T1, T2, T3, M8, CY.</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_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_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 12b<br> -Subsection 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_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_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: (1) Large Accelerated Filer, (2) Accelerated Filer, (3) Non-accelerated Filer, (4) Smaller Reporting Company (Non-accelerated) or (5) Smaller Reporting 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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ 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_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 12b<br> -Subsection 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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>13
<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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6827336432">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Operations - USD ($)<br> shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jul. 01, 2018</div></th>
<th class="th"><div>Jul. 02, 2017</div></th>
<th class="th"><div>Jul. 01, 2018</div></th>
<th class="th"><div>Jul. 02, 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_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_SalesRevenueNet', window );">Revenue</a></td>
<td class="nump">$ 211,264<span></span>
</td>
<td class="nump">$ 178,080<span></span>
</td>
<td class="nump">$ 380,831<span></span>
</td>
<td class="nump">$ 317,119<span></span>
</td>
</tr>
<tr class="re">
<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">54,169<span></span>
</td>
<td class="nump">42,164<span></span>
</td>
<td class="nump">94,367<span></span>
</td>
<td class="nump">74,696<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">157,095<span></span>
</td>
<td class="nump">135,916<span></span>
</td>
<td class="nump">286,464<span></span>
</td>
<td class="nump">242,423<span></span>
</td>
</tr>
<tr class="re">
<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">26,888<span></span>
</td>
<td class="nump">23,377<span></span>
</td>
<td class="nump">57,964<span></span>
</td>
<td class="nump">46,147<span></span>
</td>
</tr>
<tr class="ro">
<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">66,752<span></span>
</td>
<td class="nump">52,518<span></span>
</td>
<td class="nump">130,449<span></span>
</td>
<td class="nump">99,039<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">63,455<span></span>
</td>
<td class="nump">60,021<span></span>
</td>
<td class="nump">98,051<span></span>
</td>
<td class="nump">97,237<span></span>
</td>
</tr>
<tr class="ro">
<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">(195)<span></span>
</td>
<td class="num">(184)<span></span>
</td>
<td class="num">(329)<span></span>
</td>
<td class="num">(447)<span></span>
</td>
</tr>
<tr class="re">
<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">3,559<span></span>
</td>
<td class="nump">2,138<span></span>
</td>
<td class="nump">6,799<span></span>
</td>
<td class="nump">4,150<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherNonoperatingIncomeExpense', window );">Other income (expense)</a></td>
<td class="num">(246)<span></span>
</td>
<td class="num">(169)<span></span>
</td>
<td class="nump">31<span></span>
</td>
<td class="nump">101<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">66,573<span></span>
</td>
<td class="nump">61,806<span></span>
</td>
<td class="nump">104,552<span></span>
</td>
<td class="nump">101,041<span></span>
</td>
</tr>
<tr class="ro">
<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 (benefit)</a></td>
<td class="nump">10,377<span></span>
</td>
<td class="nump">5,311<span></span>
</td>
<td class="nump">11,139<span></span>
</td>
<td class="num">(925)<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">$ 56,196<span></span>
</td>
<td class="nump">$ 56,495<span></span>
</td>
<td class="nump">$ 93,413<span></span>
</td>
<td class="nump">$ 101,966<span></span>
</td>
</tr>
<tr class="ro">
<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</a></td>
<td class="nump">$ 0.33<span></span>
</td>
<td class="nump">$ 0.33<span></span>
</td>
<td class="nump">$ 0.54<span></span>
</td>
<td class="nump">$ 0.59<span></span>
</td>
</tr>
<tr class="ro">
<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</a></td>
<td class="nump">$ 0.32<span></span>
</td>
<td class="nump">$ 0.32<span></span>
</td>
<td class="nump">$ 0.52<span></span>
</td>
<td class="nump">$ 0.57<span></span>
</td>
</tr>
<tr class="re">
<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</a></td>
<td class="nump">172,370<span></span>
</td>
<td class="nump">173,278<span></span>
</td>
<td class="nump">172,825<span></span>
</td>
<td class="nump">172,960<span></span>
</td>
</tr>
<tr class="re">
<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</a></td>
<td class="nump">177,149<span></span>
</td>
<td class="nump">179,228<span></span>
</td>
<td class="nump">178,418<span></span>
</td>
<td class="nump">178,904<span></span>
</td>
</tr>
<tr class="ro">
<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</a></td>
<td class="nump">$ 0.045<span></span>
</td>
<td class="nump">$ 0.0425<span></span>
</td>
<td class="nump">$ 0.09<span></span>
</td>
<td class="nump">$ 0.080<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://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<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=63488584&amp;loc=d3e20235-122688<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 225<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879464&amp;loc=d3e573970-122913<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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=96947427&amp;loc=d3e1252-109256<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<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=63488584&amp;loc=d3e20235-122688<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 225<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879574&amp;loc=d3e536633-122882<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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=64836518&amp;loc=d3e30700-110894<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<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=64836518&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://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<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=63488584&amp;loc=d3e20235-122688<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 225<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(23))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879574&amp;loc=d3e536633-122882<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<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=63488584&amp;loc=d3e20187-122688<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 225<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(19))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879464&amp;loc=d3e573970-122913<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 225<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(11))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879464&amp;loc=d3e573970-122913<br><br>Reference 6: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<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=63488584&amp;loc=d3e20235-122688<br><br>Reference 7: http://www.xbrl.org/2003/role/presentationRef<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=96947427&amp;loc=d3e1252-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_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/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 740<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a),(b)<br> -URI http://asc.fasb.org/extlink&amp;oid=84230637&amp;loc=d3e32639-109319<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<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=63488584&amp;loc=d3e20235-122688<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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/presentationRef<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=98514028&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 225<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879574&amp;loc=d3e536633-122882<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 225<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879464&amp;loc=d3e573970-122913<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<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=63488584&amp;loc=d3e20235-122688<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<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=63488584&amp;loc=d3e20235-122688<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherNonoperatingIncomeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ResearchAndDevelopmentExpense">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The aggregate costs incurred (1) in a planned search or critical investigation aimed at discovery of new knowledge with the hope that such knowledge will be useful in developing a new product or service, a new process or technique, or in bringing about a significant improvement to an existing product or process; or (2) to translate research findings or other knowledge into a plan or design for a new product or process or for a significant improvement to an existing product or process whether intended for sale or the entity's use, during the reporting period charged to research and development projects, including the costs of developing computer software up to the point in time of achieving technological feasibility, and costs allocated in accounting for a business combination to in-process projects deemed to have no alternative future use.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<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><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_SalesRevenueNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 revenue from sale of goods and services rendered during the reporting period, in the normal course of business, reduced by sales returns and allowances, and sales discounts.</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 FASB<br> -Name Accounting Standards Codification<br> -Topic 225<br> -SubTopic 10<br> -Section S99<br> -Paragraph 2<br> -Subparagraph (SX 210.5-03.1)<br> -URI http://asc.fasb.org/extlink&amp;oid=63488584&amp;loc=d3e20235-122688<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SalesRevenueNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<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=63488584&amp;loc=d3e20235-122688<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SellingGeneralAndAdministrativeExpense</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfDilutedSharesOutstanding">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The average number of shares or units issued and outstanding that are used in calculating diluted EPS or earnings per unit (EPU), determined based on the timing of issuance of shares or units in the period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<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=96947427&amp;loc=d3e1505-109256<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<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/presentationRef<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=96947427&amp;loc=d3e1448-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>14
<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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6827305408">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Comprehensive Income - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jul. 01, 2018</div></th>
<th class="th"><div>Jul. 02, 2017</div></th>
<th class="th"><div>Jul. 01, 2018</div></th>
<th class="th"><div>Jul. 02, 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_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">$ 56,196<span></span>
</td>
<td class="nump">$ 56,495<span></span>
</td>
<td class="nump">$ 93,413<span></span>
</td>
<td class="nump">$ 101,966<span></span>
</td>
</tr>
<tr 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_CashflowshedgesAbstract', window );"><strong>Cash flow hedges:</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_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax', window );">Net unrealized gain (loss), net of tax of $0 and $7 in the three-month periods and net of tax of $0 and $3 in the six-month periods, respectively</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">59<span></span>
</td>
<td class="nump">0<span></span>
</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_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax', window );">Reclassification of net realized (gain) loss into current operations</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(9)<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">35<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_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax', window );">Net change related to cash flow hedges</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">50<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">23<span></span>
</td>
</tr>
<tr class="re">
<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 $8 and $58 in the three-month periods and net of tax of $(106) and $150 in the six-month periods, respectively</a></td>
<td class="nump">490<span></span>
</td>
<td class="nump">307<span></span>
</td>
<td class="num">(702)<span></span>
</td>
<td class="nump">818<span></span>
</td>
</tr>
<tr class="re">
<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">(247)<span></span>
</td>
<td class="num">(42)<span></span>
</td>
<td class="num">(269)<span></span>
</td>
<td class="num">(107)<span></span>
</td>
</tr>
<tr class="rou">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeAvailableforsaleSecuritiesAdjustmentNetOfTaxPortionAttributableToParent', window );">Net change related to available-for-sale investments</a></td>
<td class="nump">243<span></span>
</td>
<td class="nump">265<span></span>
</td>
<td class="num">(971)<span></span>
</td>
<td class="nump">711<span></span>
</td>
</tr>
<tr 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">(7,253)<span></span>
</td>
<td class="nump">10,263<span></span>
</td>
<td class="num">(3,197)<span></span>
</td>
<td class="nump">12,744<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">(7,010)<span></span>
</td>
<td class="nump">10,578<span></span>
</td>
<td class="num">(4,168)<span></span>
</td>
<td class="nump">13,478<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">$ 49,186<span></span>
</td>
<td class="nump">$ 67,073<span></span>
</td>
<td class="nump">$ 89,245<span></span>
</td>
<td class="nump">$ 115,444<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_CashflowshedgesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 flows hedges [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_CashflowshedgesAbstract</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_CurrencytranslationadjustmentsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Currency translation adjustments [Abstract]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_CurrencytranslationadjustmentsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ComprehensiveIncomeNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of increase (decrease) in equity from transactions and other events and circumstances from net income and other comprehensive income, attributable to parent entity. Excludes changes in equity resulting from investments by owners and distributions to owners.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<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=84228862&amp;loc=d3e557-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/presentationRef<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=98514028&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 225<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879574&amp;loc=d3e536633-122882<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 225<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879464&amp;loc=d3e573970-122913<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<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=63488584&amp;loc=d3e20235-122688<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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://www.xbrl.org/2003/role/presentationRef<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=96868048&amp;loc=SL4569643-111683<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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=84161450&amp;loc=SL4573702-111684<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<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=96868048&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_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_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 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://www.xbrl.org/2003/role/presentationRef<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=84228862&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_OtherComprehensiveIncomeLossDerivativesQualifyingAsHedgesNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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://www.xbrl.org/2003/role/presentationRef<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=64808268&amp;loc=d3e32211-110900<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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=84228862&amp;loc=SL7669646-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossNetOfTaxPeriodIncreaseDecreaseAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossNetOfTaxPortionAttributableToParent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of other comprehensive income (loss) attributable to parent entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<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=84161450&amp;loc=SL4573702-111684<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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=96868048&amp;loc=SL4569616-111683<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<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=96868048&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_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://www.xbrl.org/2003/role/presentationRef<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 2: http://www.xbrl.org/2003/role/presentationRef<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=84228862&amp;loc=d3e637-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<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=84228862&amp;loc=d3e689-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_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 of accumulated gain (loss) realized from derivative instruments designated and qualifying as the effective portion of cash flow hedges and an entity's share of an equity investee's 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://www.xbrl.org/2003/role/presentationRef<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=84228862&amp;loc=d3e689-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph c<br> -URI http://asc.fasb.org/extlink&amp;oid=84234895&amp;loc=d3e41638-113959<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<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=84228862&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_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 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://www.xbrl.org/2003/role/presentationRef<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=84228862&amp;loc=SL7669646-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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=84228862&amp;loc=d3e637-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 30<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=6441202&amp;loc=d3e80720-113993<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4C<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=84234895&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_OtherComprehensiveIncomeUnrealizedGainLossOnDerivativesArisingDuringPeriodNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_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://www.xbrl.org/2003/role/presentationRef<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=84228862&amp;loc=SL7669646-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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=84228862&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>15
<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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6827382592">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Comprehensive Income (Parenthetical) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jul. 01, 2018</div></th>
<th class="th"><div>Jul. 02, 2017</div></th>
<th class="th"><div>Jul. 01, 2018</div></th>
<th class="th"><div>Jul. 02, 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_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">$ 7<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 3<span></span>
</td>
</tr>
<tr class="re">
<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="nump">8<span></span>
</td>
<td class="nump">58<span></span>
</td>
<td class="num">(106)<span></span>
</td>
<td class="nump">150<span></span>
</td>
</tr>
<tr class="ro">
<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://www.xbrl.org/2003/role/presentationRef<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=64808268&amp;loc=d3e32211-110900<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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=84228862&amp;loc=d3e640-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<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=84228862&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_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://www.xbrl.org/2003/role/presentationRef<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=84228862&amp;loc=SL7669646-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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=84228862&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://www.xbrl.org/2003/role/presentationRef<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=84228862&amp;loc=d3e640-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (e,f)<br> -URI http://asc.fasb.org/extlink&amp;oid=84228862&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>16
<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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6826952992">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Balance Sheets - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jul. 01, 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_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">$ 129,202<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 );">Short-term investments</a></td>
<td class="nump">353,740<span></span>
</td>
<td class="nump">297,961<span></span>
</td>
</tr>
<tr class="ro">
<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,501 and $1,568 in 2018 and 2017, respectively</a></td>
<td class="nump">136,084<span></span>
</td>
<td class="nump">119,388<span></span>
</td>
</tr>
<tr class="re">
<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">3,603<span></span>
</td>
<td class="nump">7,454<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryNet', window );">Inventories</a></td>
<td class="nump">89,556<span></span>
</td>
<td class="nump">67,923<span></span>
</td>
</tr>
<tr class="re">
<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">47,362<span></span>
</td>
<td class="nump">30,683<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">759,547<span></span>
</td>
<td class="nump">629,991<span></span>
</td>
</tr>
<tr class="re">
<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 );">Long-term investments</a></td>
<td class="nump">271,941<span></span>
</td>
<td class="nump">423,441<span></span>
</td>
</tr>
<tr class="ro">
<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">87,893<span></span>
</td>
<td class="nump">78,048<span></span>
</td>
</tr>
<tr class="re">
<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="ro">
<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">11,651<span></span>
</td>
<td class="nump">13,189<span></span>
</td>
</tr>
<tr class="re">
<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,892<span></span>
</td>
<td class="nump">27,385<span></span>
</td>
</tr>
<tr class="ro">
<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">2,178<span></span>
</td>
<td class="nump">2,491<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_Assets', window );">Total assets</a></td>
<td class="nump">1,276,310<span></span>
</td>
<td class="nump">1,287,753<span></span>
</td>
</tr>
<tr class="ro">
<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="re">
<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,588<span></span>
</td>
<td class="nump">23,463<span></span>
</td>
</tr>
<tr class="ro">
<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">58,654<span></span>
</td>
<td class="nump">68,249<span></span>
</td>
</tr>
<tr class="re">
<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">12,477<span></span>
</td>
<td class="nump">11,503<span></span>
</td>
</tr>
<tr class="ro">
<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">40,881<span></span>
</td>
<td class="nump">9,420<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">124,600<span></span>
</td>
<td class="nump">112,635<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DeferredIncomeTaxLiabilitiesNet', window );">Deferred Income Tax Liabilities, Net</a></td>
<td class="nump">304<span></span>
</td>
<td class="nump">312<span></span>
</td>
</tr>
<tr class="re">
<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,399<span></span>
</td>
<td class="nump">6,488<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccruedIncomeTaxes', window );">Accrued Income Taxes</a></td>
<td class="nump">60,241<span></span>
</td>
<td class="nump">66,741<span></span>
</td>
</tr>
<tr class="re">
<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 non-current liabilities</a></td>
<td class="nump">4,634<span></span>
</td>
<td class="nump">5,904<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_Liabilities', window );">Total liabilities</a></td>
<td class="nump">197,178<span></span>
</td>
<td class="nump">192,080<span></span>
</td>
</tr>
<tr class="re">
<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 and 200,000 shares in 2018 and 2017, respectively, issued and outstanding: 172,032 and 173,507 shares in 2018 and 2017, respectively</a></td>
<td class="nump">344<span></span>
</td>
<td class="nump">347<span></span>
</td>
</tr>
<tr class="re">
<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">498,343<span></span>
</td>
<td class="nump">461,338<span></span>
</td>
</tr>
<tr class="ro">
<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">619,212<span></span>
</td>
<td class="nump">668,587<span></span>
</td>
</tr>
<tr class="re">
<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">(38,767)<span></span>
</td>
<td class="num">(34,599)<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,079,132<span></span>
</td>
<td class="nump">1,095,673<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,276,310<span></span>
</td>
<td class="nump">$ 1,287,753<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://www.xbrl.org/2003/role/presentationRef<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/presentationRef<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><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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_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://www.xbrl.org/2003/role/presentationRef<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 2: http://www.xbrl.org/2003/role/presentationRef<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 3: http://www.xbrl.org/2003/role/presentationRef<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 4: http://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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 3: http://www.xbrl.org/2003/role/presentationRef<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></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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=84228862&amp;loc=d3e637-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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=84228862&amp;loc=d3e681-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<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=84228862&amp;loc=SL7669686-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://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Assets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Sum of the carrying amounts as of the balance sheet date of all assets that are expected to be realized in cash, sold, or consumed within one year (or the normal operating cycle, if longer). Assets are probable future economic benefits obtained or controlled by an entity as a result of past transactions or events.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<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 2: http://www.xbrl.org/2003/role/presentationRef<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 3: http://www.xbrl.org/2003/role/presentationRef<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 investments in debt securities classified as available-for-sale, expected to be converted to cash, sold or exchanged within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 25<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=75030427&amp;loc=d3e22054-111558<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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=82896770&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://www.xbrl.org/2003/role/presentationRef<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 2: http://www.xbrl.org/2003/role/presentationRef<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=98514028&amp;loc=d3e3044-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 605<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 13.A.3(b).Q1(c))<br> -URI http://asc.fasb.org/extlink&amp;oid=65893310&amp;loc=d3e214044-122780<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 605<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 13.A.3(b).Q2)<br> -URI http://asc.fasb.org/extlink&amp;oid=65893310&amp;loc=d3e214044-122780<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 605<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 13.A.3(b))<br> -URI http://asc.fasb.org/extlink&amp;oid=65893310&amp;loc=d3e214044-122780<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 605<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB TOPIC 13.A.Q4)<br> -URI http://asc.fasb.org/extlink&amp;oid=65893310&amp;loc=d3e214044-122780<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 605<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 13.A.4(a).Q1)<br> -URI http://asc.fasb.org/extlink&amp;oid=65893310&amp;loc=d3e214044-122780<br><br>Reference 6: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 605<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 13.A.3(c).Q3)<br> -URI http://asc.fasb.org/extlink&amp;oid=65893310&amp;loc=d3e214044-122780<br><br>Reference 7: http://www.xbrl.org/2003/role/presentationRef<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 8: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 605<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 13.A.3)<br> -URI http://asc.fasb.org/extlink&amp;oid=65893310&amp;loc=d3e214044-122780<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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://www.xbrl.org/2003/role/presentationRef<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><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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 3: http://www.xbrl.org/2003/role/presentationRef<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 4: http://www.xbrl.org/2003/role/presentationRef<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 5: http://www.xbrl.org/2003/role/presentationRef<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></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 350<br> -SubTopic 20<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=35741047&amp;loc=d3e13816-109267<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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=6388280&amp;loc=d3e13770-109266<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<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></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_Goodwill</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<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 2: http://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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_OtherAssetsNoncurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of noncurrent assets classified as other.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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_PrepaidExpenseAndOtherAssetsCurrent">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of asset related to consideration paid in advance for costs that provide economic benefits in future periods, and amount of other assets that are expected to be realized or consumed within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<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><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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 3: http://www.xbrl.org/2003/role/presentationRef<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_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://www.xbrl.org/2003/role/presentationRef<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><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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 3: http://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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://www.xbrl.org/2003/role/presentationRef<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 2: http://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RetainedEarningsAccumulatedDeficit</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<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><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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 3: http://www.xbrl.org/2003/role/presentationRef<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 4: http://www.xbrl.org/2003/role/presentationRef<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_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>17
<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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6813715136">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Consolidated Balance Sheets (Parenthetical) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jul. 01, 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_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,501<span></span>
</td>
<td class="nump">$ 1,568<span></span>
</td>
</tr>
<tr class="re">
<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">200,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">172,032,000<span></span>
</td>
<td class="nump">173,507,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://www.xbrl.org/2003/role/presentationRef<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><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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>18
<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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6827206912">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statements of Cash Flows - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jul. 01, 2018</div></th>
<th class="th"><div>Jul. 02, 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_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">$ 93,413<span></span>
</td>
<td class="nump">$ 101,966<span></span>
</td>
</tr>
<tr class="re">
<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">22,196<span></span>
</td>
<td class="nump">15,329<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_Depreciation', window );">Depreciation of property, plant, and equipment</a></td>
<td class="nump">8,874<span></span>
</td>
<td class="nump">6,288<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AmortizationOfIntangibleAssets', window );">Amortization of intangible assets</a></td>
<td class="nump">1,538<span></span>
</td>
<td class="nump">1,740<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AccretionAmortizationOfDiscountsAndPremiumsInvestments', window );">Amortization of discounts or premiums on investments</a></td>
<td class="nump">94<span></span>
</td>
<td class="nump">171<span></span>
</td>
</tr>
<tr class="ro">
<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">(269)<span></span>
</td>
<td class="num">(107)<span></span>
</td>
</tr>
<tr class="re">
<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">(254)<span></span>
</td>
<td class="num">(151)<span></span>
</td>
</tr>
<tr class="ro">
<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">(2,385)<span></span>
</td>
<td class="num">(972)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInAccountsReceivable', window );">Accounts receivable</a></td>
<td class="num">(18,779)<span></span>
</td>
<td class="num">(18,841)<span></span>
</td>
</tr>
<tr class="ro">
<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="nump">3,803<span></span>
</td>
<td class="num">(3,315)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInInventories', window );">Inventories</a></td>
<td class="num">(23,220)<span></span>
</td>
<td class="num">(7,711)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInPrepaidDeferredExpenseAndOtherAssets', window );">Prepaid expenses and other current assets</a></td>
<td class="num">(23,112)<span></span>
</td>
<td class="num">(23,990)<span></span>
</td>
</tr>
<tr class="re">
<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">(10,889)<span></span>
</td>
<td class="nump">11,814<span></span>
</td>
</tr>
<tr class="ro">
<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">(5,666)<span></span>
</td>
<td class="num">(157)<span></span>
</td>
</tr>
<tr class="re">
<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">(5,360)<span></span>
</td>
<td class="num">(532)<span></span>
</td>
</tr>
<tr class="ro">
<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">32,470<span></span>
</td>
<td class="nump">9,080<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncreaseDecreaseInOtherOperatingCapitalNet', window );">Other</a></td>
<td class="nump">162<span></span>
</td>
<td class="nump">8<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">72,616<span></span>
</td>
<td class="nump">90,620<span></span>
</td>
</tr>
<tr class="re">
<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">(336,189)<span></span>
</td>
<td class="num">(304,611)<span></span>
</td>
</tr>
<tr class="re">
<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">431,008<span></span>
</td>
<td class="nump">279,654<span></span>
</td>
</tr>
<tr class="ro">
<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">(21,675)<span></span>
</td>
<td class="num">(12,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_PaymentsToAcquireBusinessesNetOfCashAcquired', window );">Cash paid for acquisition of businesses, net of cash acquired</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(25,519)<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_PaymentsForDivestitureofBusinesses', window );">Net cash provided by (used in) investing activities</a></td>
<td class="nump">0<span></span>
</td>
<td class="num">(291)<span></span>
</td>
</tr>
<tr class="reu">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_NetCashProvidedByUsedInInvestingActivities', window );">Net cash provided by (used in) investing activities</a></td>
<td class="nump">73,144<span></span>
</td>
<td class="num">(62,939)<span></span>
</td>
</tr>
<tr class="ro">
<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">14,811<span></span>
</td>
<td class="nump">35,050<span></span>
</td>
</tr>
<tr class="ro">
<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">(121,308)<span></span>
</td>
<td class="num">(62,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_PaymentsOfDividendsCommonStock', window );">Payment of dividends</a></td>
<td class="num">(15,524)<span></span>
</td>
<td class="num">(13,864)<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="num">(1,000)<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_NetCashProvidedByUsedInFinancingActivities', window );">Net cash provided by (used in) financing activities</a></td>
<td class="num">(123,021)<span></span>
</td>
<td class="num">(41,157)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectOfExchangeRateOnCashAndCashEquivalents', window );">Effect of foreign exchange rate changes on cash and cash equivalents</a></td>
<td class="num">(119)<span></span>
</td>
<td class="nump">2,101<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">22,620<span></span>
</td>
<td class="num">(11,375)<span></span>
</td>
</tr>
<tr class="ro">
<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">106,582<span></span>
</td>
<td class="nump">79,641<span></span>
</td>
</tr>
<tr class="re">
<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">$ 129,202<span></span>
</td>
<td class="nump">$ 68,266<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_cgnx_PaymentsForDivestitureofBusinesses">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 For Divestiture of Businesses</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_PaymentsForDivestitureofBusinesses</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://www.xbrl.org/2003/role/presentationRef<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=98514028&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://www.xbrl.org/2003/role/presentationRef<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><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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=98514028&amp;loc=d3e3602-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<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></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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 2: http://www.xbrl.org/2003/role/presentationRef<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=98514028&amp;loc=d3e3044-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<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>Reference 1: http://www.xbrl.org/2003/role/presentationRef<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=98514028&amp;loc=d3e3521-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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_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://www.xbrl.org/2003/role/presentationRef<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=98514028&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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=98514028&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://www.xbrl.org/2003/role/presentationRef<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=98514028&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://www.xbrl.org/2003/role/presentationRef<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=98514028&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://www.xbrl.org/2003/role/presentationRef<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=98514028&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>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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://www.xbrl.org/2003/role/presentationRef<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=98514028&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://www.xbrl.org/2003/role/presentationRef<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=98514028&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://www.xbrl.org/2003/role/presentationRef<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=98514028&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://www.xbrl.org/2003/role/presentationRef<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=98514028&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://www.xbrl.org/2003/role/presentationRef<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=98514028&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://www.xbrl.org/2003/role/presentationRef<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=98514028&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/presentationRef<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=98514028&amp;loc=d3e3521-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 26<br> -URI http://asc.fasb.org/extlink&amp;oid=98514028&amp;loc=d3e3574-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/presentationRef<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=98514028&amp;loc=d3e3521-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 230<br> -SubTopic 10<br> -Section 45<br> -Paragraph 26<br> -URI http://asc.fasb.org/extlink&amp;oid=98514028&amp;loc=d3e3574-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://www.xbrl.org/2003/role/presentationRef<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=98514028&amp;loc=d3e3521-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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=98514028&amp;loc=d3e3602-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<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=98514028&amp;loc=d3e3536-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/presentationRef<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=98514028&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 225<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879574&amp;loc=d3e536633-122882<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 225<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879464&amp;loc=d3e573970-122913<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<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=63488584&amp;loc=d3e20235-122688<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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://www.xbrl.org/2003/role/presentationRef<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=98514028&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://www.xbrl.org/2003/role/presentationRef<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=98514028&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_PaymentsToAcquireBusinessesNetOfCashAcquired">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 a business, net of the cash acquired from the purchase.</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 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=98514028&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_PaymentsToAcquireBusinessesNetOfCashAcquired</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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://www.xbrl.org/2003/role/presentationRef<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=98514028&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://www.xbrl.org/2003/role/presentationRef<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=98514028&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://www.xbrl.org/2003/role/presentationRef<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=98514028&amp;loc=d3e3255-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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=96867065&amp;loc=SL79508275-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_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://www.xbrl.org/2003/role/presentationRef<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=98514028&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://www.xbrl.org/2003/role/presentationRef<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=98514028&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>19
<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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6827306256">
<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="re">
<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_CumulativeEffectOfNewAccountingPrincipleInPeriodOfAdoption', window );">Adjustment as a result of the adoption of ASU 2016-06 Income Taxes - Intra-Entity Transfers Other than Inventory (Note 12)</a></td>
<td class="num">$ (5,961)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">$ (5,961)<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_CommonStockSharesIssued', window );">Beginning Balance (in shares) at Dec. 31, 2017</a></td>
<td class="nump">173,507<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">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>
</tr>
<tr class="re">
<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">14,811<span></span>
</td>
<td class="nump">$ 2<span></span>
</td>
<td class="nump">14,809<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,356)<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">(121,308)<span></span>
</td>
<td class="num">$ (5)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(121,303)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue', window );">Stock-based compensation expense</a></td>
<td class="nump">22,196<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">22,196<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">(15,524)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(15,524)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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">93,413<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">93,413<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 $(106)</a></td>
<td class="num">(702)<span></span>
</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">(702)<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax', window );">Reclassification of net realized (gain) loss on the sale of available-for-sale investments</a></td>
<td class="num">(269)<span></span>
</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">(269)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax', window );">Foreign currency translation adjustment</a></td>
<td class="num">$ (3,197)<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="num">(3,197)<span></span>
</td>
</tr>
<tr class="rc">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CommonStockSharesIssued', window );">Ending Balance (in shares) at Jul. 01, 2018</a></td>
<td class="nump">172,032<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 );">Ending 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>
</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://www.xbrl.org/2003/role/presentationRef<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><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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=96867065&amp;loc=d3e5047-113901<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<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=96864182&amp;loc=d3e11149-113907<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<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=96864182&amp;loc=d3e11178-113907<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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://www.xbrl.org/2003/role/presentationRef<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_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_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://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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_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/presentationRef<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=98514028&amp;loc=d3e3602-108585<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 225<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.9-04(22))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879574&amp;loc=d3e536633-122882<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 944<br> -SubTopic 225<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SX 210.7-04(18))<br> -URI http://asc.fasb.org/extlink&amp;oid=6879464&amp;loc=d3e573970-122913<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 225<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=63488584&amp;loc=d3e20235-122688<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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://www.xbrl.org/2003/role/presentationRef<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=64808268&amp;loc=d3e32211-110900<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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=84228862&amp;loc=SL7669646-108580<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIForSaleOfSecuritiesNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after tax of reclassification adjustment from accumulated other comprehensive income for unrealized gain (loss) realized upon the sale of available-for-sale securities.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<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 2: http://www.xbrl.org/2003/role/presentationRef<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=84228862&amp;loc=d3e637-108580<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<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=84228862&amp;loc=d3e689-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://www.xbrl.org/2003/role/presentationRef<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=84228862&amp;loc=SL7669646-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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=84228862&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://www.xbrl.org/2003/role/presentationRef<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=96867065&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://www.xbrl.org/2003/role/presentationRef<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=84159872&amp;loc=d3e21463-112644<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<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_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://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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=84159872&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_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://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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=84159872&amp;loc=d3e21463-112644<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<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_StockRepurchasedDuringPeriodValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockholdersEquity">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Total of all stockholders' equity (deficit) items, net of receivables from officers, directors, owners, and affiliates of the entity which are attributable to the parent. The amount of the economic entity's stockholders' equity attributable to the parent excludes the amount of stockholders' equity which is allocable to that ownership interest in subsidiary equity which is not attributable to the parent (noncontrolling interest, minority interest). This excludes temporary equity and is sometimes called permanent equity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<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><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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 3: http://www.xbrl.org/2003/role/presentationRef<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 4: http://www.xbrl.org/2003/role/presentationRef<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_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>20
<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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6808860624">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Consolidated Statement of Shareholders' Equity (Parenthetical) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jul. 01, 2018</div></th>
<th class="th"><div>Jul. 02, 2017</div></th>
<th class="th"><div>Jul. 01, 2018</div></th>
<th class="th"><div>Jul. 02, 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_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="nump">$ 8<span></span>
</td>
<td class="nump">$ 58<span></span>
</td>
<td class="num">$ (106)<span></span>
</td>
<td class="nump">$ 150<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://www.xbrl.org/2003/role/presentationRef<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=84228862&amp;loc=d3e640-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 220<br> -SubTopic 10<br> -Section 45<br> -Paragraph 10A<br> -Subparagraph (e,f)<br> -URI http://asc.fasb.org/extlink&amp;oid=84228862&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>21
<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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6809119360">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 01, 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_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"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Summary of Significant Accounting Policies</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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 606 "Revenue from Contracts with Customers," Cognex Corporation (the "Company") has provided new disclosures related to revenue recognition 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 </font><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2017</font><font style="font-family:Arial;font-size:10pt;"> for a full description of significant accounting policies.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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 </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">, and the results of its operations for the three-month and six-month periods ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">July&#160;2, 2017</font><font style="font-family:Arial;font-size:10pt;">, and changes in shareholders&#8217; equity, comprehensive income, and cash flows for the periods presented.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The results disclosed in the Consolidated Statements of Operations for the three-month and six-month periods ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;"> are not necessarily indicative of the results to be expected for the full year.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Revenue Recognition</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company recognizes revenue in accordance with Accounting Standards Codification (ASC) 606, &#8220;Revenue from Contracts with Customers.&#8221; The core principle of ASC 606 is to recognize revenue in a manner that depicts the transfer of promised goods or services to customers in an amount that reflects the consideration to which the Company expects to be entitled in exchange for those goods or services.  The framework in support of this core principle includes: (1) identifying the contract with the customer; (2) identifying the performance obligations in the contract; (3) determining the transaction price; (4) allocating the transaction price to the performance obligations; and (5) recognizing revenue when (or as) the performance obligations are satisfied.  </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Identifying the Contract with the Customer</font></div><div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company identifies contracts with customers as agreements that create enforceable rights and obligations, which typically take the form of customer contracts or purchase orders.  </font></div><div style="line-height:120%;padding-top:8px;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Identifying the Performance Obligations in the Contract</font></div><div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company identifies performance obligations as promises in contracts to transfer distinct goods or services. Standard products and services that the Company regularly sells separately are accounted for as distinct performance obligations.  Application-specific customer solutions that are comprised of a combination of products and services are accounted for as one performance obligation to deliver a total solution to the customer.  On-site support services that are provided to the customer after the solution is deployed are accounted for as a separate performance obligation.  These solutions are provided to customers in a variety of industries, including the consumer electronics, logistics, and automotive industries.   </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Shipping and handling activities for which the Company is responsible under the terms and conditions of the sale are not accounted for as performance obligations but as fulfillment costs.  These activities are required to fulfill the Company&#8217;s promise to transfer the goods and are expensed when revenue is recognized.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company does not assess whether promised goods or services are performance obligations if they are immaterial in the context of the contract.  If revenue is recognized before immaterial promises have been completed, then the costs related to such immaterial promises are accrued at the time of sale.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Determining the Transaction Price</font></div><div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company determines the transaction price as the amount of consideration it expects to receive in exchange for transferring promised goods or services to the customer.  Amounts collected from customers for sales taxes are excluded from the transaction price. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">If a contract includes a variable amount, such as a rebate, then the Company estimates the transaction price using either the expected value or the most likely amount of consideration to be received, depending upon the specific facts and circumstances.  The Company includes estimated variable consideration in the transaction price only to the extent it is probable that a significant reversal of revenue will not occur when the uncertainty is resolved.  The Company updates its estimate of variable consideration at the end of each reporting period to reflect changes in facts and circumstances.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Allocating the Transaction Price to the Performance Obligations</font></div><div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company allocates the transaction price to each performance obligation at contract inception based on a relative stand-alone selling price basis, or the price at which the Company would sell the good or service separately to similar customers in similar circumstances.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Recognizing Revenue When (or As) the Performance Obligations are Satisfied</font></div><div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company recognizes revenue when it transfers the promised goods or services to the customer.  Revenue for standard products is recognized at the point in time when the customer obtains control of the goods, which is typically upon delivery when the customer has legal title, physical possession, the risks and rewards of ownership, and an enforceable obligation to pay for the products.  Revenue for services, which are not material, is typically recognized over the time the service is provided.  </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Revenue for application-specific customer solutions is recognized at the point in time when the solution is validated, which is the point in time when the Company can objectively determine that the agreed-upon specifications in the contract have been met and the customer will accept the performance obligations in the arrangement.  Although the customer may have taken legal title and physical possession of the goods when they arrived at the customer&#8217;s designated site, the significant risks and rewards of ownership transfer to the customer only upon validation.  Revenue for on-site support services related to these solutions is recognized over the time the service is provided.  </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In certain instances, an arrangement may include customer-specified acceptance provisions or performance guarantees that allow the customer to accept or reject delivered products that do not meet the customer&#8217;s specifications.  If the Company can objectively determine that control of a good or service has been transferred to the customer in accordance with the agreed-upon specifications in the contract, then customer acceptance is a formality.  If acceptance provisions are presumed to be substantive, then revenue is deferred until customer acceptance.  </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">For the Company&#8217;s standard products and services, revenue recognition and billing typically occur at the same time.  For application-specific customer solutions, however, the agreement with the customer may provide for billing terms which differ from revenue recognition criteria, resulting in either deferred revenue or unbilled revenue.  Credit assessments are performed to determine payment terms, which vary by region, industry, and customer.  Prepayment terms result in contract liabilities for customer deposits.  When credit is granted to customers, payment is typically due 30 to 90 days from billing.  The Company's contracts have an original expected duration of less than one year, and therefore as a practical expedient, the Company has elected to ignore the impact of the time value of money on a contract and to expense sales commissions.  The Company recognizes an asset for costs to fulfill a contract if the costs relate directly to the contract and to future performance, and the costs are expected to be recovered.  </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Management exercises judgment when determining the amount of revenue to be recognized each period.  Such judgments include, but are not limited to, assessing the customer&#8217;s ability and intention to pay substantially all of the contract consideration when due, determining when two or more contracts should be combined and accounted for as a single contract, determining whether a contract modification has occurred, assessing whether promises are immaterial in the context of the contract, determining whether material promises in a contract represent distinct performance obligations, estimating the transaction price for a contract that contains variable consideration, determining the stand-alone selling price of each performance obligation, determining whether control is transferred over time or at a point in time for performance obligations, and assessing whether formal customer acceptance provisions are substantive.</font></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SignificantAccountingPoliciesTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for all significant accounting policies of the reporting entity.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<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>22
<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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6809039168">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>New Pronouncements<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 01, 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_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"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:12px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">New Pronouncements</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2016-02, "Leases"</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ASU 2016-02 creates Topic 842, Leases.  The objective of this Update is to increase transparency and comparability among organizations by recognizing lease assets and lease liabilities on the balance sheet, and disclosing key information about leasing arrangements.  This ASU applies to any entity that enters into a lease, although lessees will see the most significant changes.  The main difference between current GAAP and Topic 842 is the recognition of lease assets and lease liabilities on the balance sheet for those leases classified as operating leases under current GAAP.  Topic 842 distinguishes between finance leases and operating leases, which are substantially similar to the classification criteria for distinguishing between capital leases and operating leases under current GAAP.  For public companies, the  guidance in ASU 2016-02 is effective for annual periods beginning after December 15, 2018, and interim periods within those annual periods.  Although this ASU is required to be applied using a modified retrospective approach, the Financial Accounting Standards Board is reportedly in the final stages of issuing an optional transition method allowing entities to apply the amendments of this Update as a cumulative-effect adjustment to retained earnings.  Management will continue to monitor the final implementation guidance to determine the adoption method.  As of the date of this report,  management has determined the scope of leases subject to the new accounting requirements and has selected a software package to assist with compliance.  Management is in the process of reviewing all leases in scope, completing the implementation of the lease accounting software, and drafting the internal lease accounting policy and the related processes, internal controls, and disclosures. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2016-13, "Financial Instruments - Measurement of Credit Losses"</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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 Update eliminate the probable initial recognition threshold to recognize a credit loss under current  GAAP and, instead, reflect an entity&#8217;s current estimate of all expected credit losses.  In addition, this Update 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 Update 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.&#160; Management does not expect ASU 2016-13 to have a material impact on the Company's financial statements and disclosures.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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 "</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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 Update 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 Update 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.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2017-12, "Derivatives and Hedging - Targeted Improvements to Accounting for Hedging Activities"</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ASU 2017-12 applies to all reporting entities that elect to apply hedge accounting.  The hedge accounting requirements under current GAAP sometimes do not permit an entity to properly recognize the economic results of the hedging strategy in the financial statements, and they are difficult to understand and interpret.  The amendments in this Update make certain targeted improvements to simplify the application of the hedge accounting guidance.  Also, they better align the risk management activities and financial reporting for hedging relationships through changes to both 1) the designation and measurement guidance for qualifying hedging relationships and 2) the presentation of hedge results.  For public companies, the amendments in ASU 2017-12 are effective for annual reporting periods beginning after December 15, 2018, and interim reporting periods within those annual periods.  Early adoption is permitted including adoption in any interim period after issuance of the Update.  All transition requirements and elections should be applied to hedging relationships existing on the date of adoption.  The entity should apply a cumulative-effect adjustment related to eliminating the separate measurement of ineffectiveness to accumulated other comprehensive income with a corresponding adjustment to the opening balance of retained earnings as of the beginning of the fiscal year that an entity adopts the amendments in this Update.  The amended presentation and disclosure guidance is required only prospectively.  Management does not expect ASU 2017-12 to have a material impact on the Company's financial statements and disclosures.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2018-01, "Land Easement Practical Expedient for Transition to Topic 842"</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ASU 2018-01 applies to entities with land easements that exist or expired before an entity&#8217;s adoption of Topic 842, provided that the entity does not account for those land easements as leases under Topic 840.  The amendments in this Update permit an entity to elect an optional transition practical expedient to not evaluate under Topic 842 land easements that exist or expired before the entity&#8217;s adoption of Topic 842 and that were not previously accounted for as leases under Topic 840.  An entity that elects this practical expedient should apply the practical expedient consistently to all of its existing or expired land easements that were not previously accounted for as leases under Topic 840.  Once an entity adopts Topic 842, it should apply that Topic prospectively to all new (or modified) land easements to determine whether the arrangement should be accounted for as a lease.  An entity that does not elect this practical expedient should evaluate all existing or expired land easements in connection with the adoption of the new lease requirements in Topic 842 to assess whether they meet the definition of a lease.  The amendments in this Update affect the amendments in Update 2016-02, which are not yet effective but may be early adopted.  The effective date and transition requirements for the amendments are the same as the effective date and transition requirements in Update 2016-02,  which is for annual periods beginning after December 15, 2018, and interim periods within those annual periods. Management does not expect ASU 2018-01 to have a material impact on the Company's financial statements and disclosures.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2018-02, "Income Statement - Reporting Comprehensive Income"</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ASU 2018-02 applies to entities required to apply the provisions of Topic 220, Income Statement - Reporting Comprehensive Income, and has items of other comprehensive income for which the related tax effects are presented in other comprehensive income as required by GAAP.  The amendments in this Update allow a reclassification from accumulated other comprehensive income to retained earnings for stranded tax effects resulting from the Tax Cuts and Jobs Act of 2017 (the "Tax Act").  Consequently, the amendments eliminate the stranded tax effects resulting from the Tax Act and will improve the usefulness of information reported to financial statement users.  However, because the amendments only relate to the reclassification of the income tax effects of the Tax Act, the underlying guidance that requires the effect of a change in tax laws or rates to be included in income from continuing operations is not affected.  The amendments in this Update also require certain disclosures about stranded tax effects.  The amendments in this Update are effective for all entities for fiscal years beginning after December 15, 2018, and interim periods within those fiscal years.  Early adoption of the amendments in this Update is permitted, including adoption in any interim period.  The amendments in this Update should be applied either in the period of adoption or retrospectively to each period (or periods) in which the effect of the change in the U.S. federal corporate income tax rate in the Tax Act is recognized.  Management does not expect ASU 2018-02 to have a material impact on the Company's financial statements and disclosures. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2018-07, "Compensation - Stock Compensation - Improvements to Nonemployee Share-Based Payment Accounting"</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ASU 2018-07 applies to all entities that enter into share-based payment transactions for acquiring goods and services from nonemployees.  The amendments in this Update expand the scope of Topic 718, Compensation - Stock Compensation, to include share-based payments transactions to nonemployees.  Changes to the accounting for nonemployee awards as a result of this Update include: 1) equity-classified nonemployee share-based payment awards are measured at the grant date, instead of the previous requirement to remeasure the awards through the performance completion date, 2) for awards with performance conditions, compensation cost is recognized when the achievement of the performance condition is probable, rather than upon achievement, and 3) the current requirement to reassess the classification (equity or liability) for nonemployee awards upon vesting is eliminated.  This Update clarifies that Topic 718 does not apply to financing transactions or awards granted to customers as part of a contract accounted for under Topic 606, Revenue from Contracts with Customers.  The amendments in this Update are effective for public business entities for fiscal years beginning after December 15, 2018, and interim periods within that fiscal year.  An entity should only remeasure liability-classified awards that have not been settled by the date of adoption and equity-classified awards for which the measurement date has not been established through a cumulative-effect adjustment to retained earnings as of the beginning of the fiscal year of adoption.  Management does not expect ASU 2018-07 to have a material impact on the Company's financial statements and disclosures.</font></div></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://www.xbrl.org/2003/role/presentationRef<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>23
<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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6817998784">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Fair Value Measurements<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 01, 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_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"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Fair Value Measurements</font></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Financial Assets and Liabilities that are Measured at Fair Value on a Recurring Basis</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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 </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;"> (in thousands):</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="12" rowspan="1"></td></tr><tr><td style="width:50%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:14%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:14%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:14%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Quoted&#160;Prices&#160;in</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Active Markets</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">for Identical</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Assets (Level 1)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Significant&#160;    Other</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Observable</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Inputs (Level 2)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;"><br clear="none"/>Unobservable<br clear="none"/>Inputs                                                                                                                                                                             (Level 3)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Assets:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Money market instruments</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,055</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">324,801</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">136,377</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">102,980</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">35,181</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">16,346</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,996</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Economic hedge forward contracts</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">88</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Liabilities:</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><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;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><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;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Economic hedge forward contracts</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(86</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Contingent consideration liabilities</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,303</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company did not record an other-than-temporary impairment of these financial assets during the </font><font style="font-family:Arial;font-size:10pt;">six</font><font style="font-family:Arial;font-size:10pt;">-month period ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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 six-month period ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;"> (in thousands):</font></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" rowspan="1"></td></tr><tr><td style="width:85%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2017</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,557</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Fair value adjustment to Manatee contingent consideration</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1,350</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Fair value adjustment to GVi contingent consideration</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">988</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Fair value adjustment to Chiaro contingent consideration</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">108</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Payment of GVi contingent consideration</font></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;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1,000</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of July 1, 2018</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,303</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Non-financial Assets that are Measured at Fair Value on a Non-recurring Basis</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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 </font><font style="font-family:Arial;font-size:10pt;">six</font><font style="font-family:Arial;font-size:10pt;">-month periods ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;"> and July 2, 2017.</font></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_FairValueDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FairValueDisclosuresTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for the fair value of financial instruments (as defined), including financial assets and financial liabilities (collectively, as defined), and the measurements of those instruments as well as disclosures related to the fair value of non-financial assets and liabilities. Such disclosures about the financial instruments, assets, and liabilities would include: (1) the fair value of the required items together with their carrying amounts (as appropriate); (2) for items for which it is not practicable to estimate fair value, disclosure would include: (a) information pertinent to estimating fair value (including, carrying amount, effective interest rate, and maturity, and (b) the reasons why it is not practicable to estimate fair value; (3) significant concentrations of credit risk including: (a) information about the activity, region, or economic characteristics identifying a concentration, (b) the maximum amount of loss the entity is exposed to based on the gross fair value of the related item, (c) policy for requiring collateral or other security and information as to accessing such collateral or security, and (d) the nature and brief description of such collateral or security; (4) quantitative information about market risks and how such risks are managed; (5) for items measured on both a recurring and nonrecurring basis information regarding the inputs used to develop the fair value measurement; and (6) for items presented in the financial statement for which fair value measurement is elected: (a) information necessary to understand the reasons for the election, (b) discussion of the effect of fair value changes on earnings, (c) a description of [similar groups] items for which the election is made and the relation thereof to the balance sheet, the aggregate carrying value of items included in the balance sheet that are not eligible for the election; (7) all other required (as defined) and desired information.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<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>24
<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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6640031008">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cash, Cash Equivalents, and Investments<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 01, 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>
</tr>
<tr class="ro">
<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"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Cash, Cash Equivalents, and Investments</font></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash, cash equivalents, and investments consisted of the following (in thousands):</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="8" rowspan="1"></td></tr><tr><td style="width:63%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:16%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:16%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">July 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">December 31, 2017</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">124,147</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">97,951</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Money market instruments</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5,055</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">8,631</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash and cash equivalents</font></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;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">129,202</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">106,582</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">136,377</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">150,371</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">116,347</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">47,395</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">55,240</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">59,203</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">29,247</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10,608</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">9,154</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">8,805</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">7,375</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">21,579</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Short-term investments</font></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;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">353,740</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">297,961</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">208,454</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">296,014</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">47,740</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">71,727</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">8,971</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13,147</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5,934</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">14,890</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">842</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,204</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">23,459</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Long-term investments</font></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;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">271,941</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">423,441</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">754,883</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">827,984</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills consist of debt securities issued by the U.S. government; corporate bonds consist of debt securities issued by both domestic and foreign companies; asset-backed securities consist of debt securities collateralized by pools of receivables or loans with credit enhancement; agency bonds consist of domestic or foreign obligations of government agencies and government sponsored enterprises that have government backing; municipal bonds consist of debt securities issued by state and local government entities; and sovereign bonds consist of direct debt issued by foreign governments. All securities are denominated in U.S. Dollars.</font></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the Company&#8217;s available-for-sale investments as of </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;"> (in thousands):</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:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="16" rowspan="1"></td></tr><tr><td style="width:44%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:12%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Amortized<br clear="none"/>Cost</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Gross<br clear="none"/>Unrealized<br clear="none"/>Gains</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Gross<br clear="none"/>Unrealized<br clear="none"/>Losses</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Fair&#160;Value</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Short-term:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">136,706</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(332</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">136,377</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">116,659</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">59</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(371</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">116,347</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">55,459</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(219</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">55,240</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">29,248</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">29,247</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,165</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(11</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,154</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7,400</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(26</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7,375</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Long-term:</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><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;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><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;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><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;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">208,382</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">636</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(564</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">208,454</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">48,033</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">12</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(305</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">47,740</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">8,977</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">35</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(41</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">8,971</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,930</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,934</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">855</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(13</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">842</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">626,814</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">750</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(1,883</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">625,681</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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 </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;"> (in thousands):</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:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="24" rowspan="1"></td></tr><tr><td style="width:29%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td colspan="15" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Unrealized Loss Position For:</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Less than 12 Months</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">12 Months or Greater</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Total</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Fair&#160;Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Unrealized</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Losses</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Fair&#160;Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Unrealized</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Losses</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Fair&#160;Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;border-top:1px solid #000000;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Unrealized</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Losses</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">139,225</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(713</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">22,908</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(222</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">162,133</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(935</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">84,309</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(149</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">48,464</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(183</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">132,773</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(332</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">90,411</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(496</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,462</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(28</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">94,873</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(524</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">29,246</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">29,246</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,562</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(9</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,581</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(58</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">8,143</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(67</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,692</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(24</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,692</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(24</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">350,445</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(1,392</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">80,415</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(491</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">430,860</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(1,883</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td></tr></table></div><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As of </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font 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.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company recorded gross realized gains and gross realized losses on the sale of debt securities totaling </font><font style="font-family:Arial;font-size:10pt;">$308,000</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">$61,000</font><font style="font-family:Arial;font-size:10pt;">, respectively, during the three-month period ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">$55,000</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">$13,000</font><font style="font-family:Arial;font-size:10pt;">, respectively, during the three-month period ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;2, 2017</font><font style="font-family:Arial;font-size:10pt;">.  The Company recorded gross realized gains and gross realized losses on the sale of debt securities totaling </font><font style="font-family:Arial;font-size:10pt;">$363,000</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">$94,000</font><font style="font-family:Arial;font-size:10pt;">, respectively, during the six-month period ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">$143,000</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">$36,000</font><font style="font-family:Arial;font-size:10pt;">, respectively, during the six-month period ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;2, 2017</font><font style="font-family:Arial;font-size:10pt;">.  These gains and losses are included in "Investment income" on the Consolidated Statement 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 income (loss).</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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 </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;"> (in thousands):</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:99.22027290448344%;border-collapse:collapse;text-align:left;"><tr><td colspan="28" rowspan="1"></td></tr><tr><td style="width:24%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:8%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:8%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:8%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:8%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:8%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:8%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:8%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">&lt;1 year</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">1-2 Years</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">2-3 Years</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">3-4 Years</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">4-5 Years</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">5-7 Years</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Total</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">116,347</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">96,004</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">71,890</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">29,491</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7,704</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,365</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">324,801</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">136,377</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">136,377</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">55,240</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">31,023</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,178</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,320</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,809</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,410</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">102,980</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">29,247</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,934</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">35,181</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7,375</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,963</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,008</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">16,346</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,154</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">842</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,996</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">353,740</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">132,990</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">77,918</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">33,811</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">19,447</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">7,775</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">625,681</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></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>25
<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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6827359744">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Inventories<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 01, 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>
</tr>
<tr class="ro">
<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"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Inventories</font></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Inventories consisted of the following (in thousands):</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="8" rowspan="1"></td></tr><tr><td style="width:63%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:16%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:16%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">July 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">December 31, 2017</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Raw materials</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">46,020</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">33,927</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Work-in-process</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,114</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Finished goods</font></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;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">43,536</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">31,882</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">89,556</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">67,923</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for inventory. Includes, but is not limited to, the basis of stating inventory, the method of determining inventory cost, the classes of inventory, and the nature of the cost elements included in inventory.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<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>26
<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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6635706752">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Intangible Assets<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 01, 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_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"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:12px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Intangible Assets</font></div><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Amortized intangible assets consisted of the following (in thousands):</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="12" rowspan="1"></td></tr><tr><td style="width:53%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Gross</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Accumulated</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Amortization</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Net</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Distribution networks</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">38,060</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">38,060</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Completed technologies</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">13,687</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5,400</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">8,287</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Customer relationships</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">8,607</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5,459</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">3,148</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Non-compete agreements</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">370</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">154</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">216</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of July 1, 2018</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">60,724</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">49,073</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">11,651</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;height:12px;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;" rowspan="1" colspan="1"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;height:12px;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;" rowspan="1" colspan="1"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Gross</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Accumulated</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Amortization</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Net</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Distribution networks</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">38,060</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">38,060</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Completed technologies</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13,687</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,181</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,506</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Customer relationships</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">8,607</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,202</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,405</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Non-compete agreements</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">370</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">92</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">278</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2017</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">60,724</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">47,535</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13,189</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As of July 1, 2018, estimated future amortization expense related to intangible assets is as follows (in thousands):</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" rowspan="1"></td></tr><tr><td style="width:82%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:15%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;text-decoration:underline;">Year Ended December&#160;31,</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Amount</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Remainder of fiscal 2018</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,538</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2019</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,701</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2020</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,185</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2021</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,017</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2022</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,691</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2023</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">989</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Thereafter</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">530</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">11,651</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_GoodwillAndIntangibleAssetsDisclosureAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_IntangibleAssetsDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for all or part of the information related to intangible assets.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<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>27
<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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6640716064">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Warranty Obligations<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 01, 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_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"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Warranty Obligations</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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.</font></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The changes in the warranty obligation were as follows (in thousands):</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="4" rowspan="1"></td></tr><tr><td style="width:82%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:16%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2017</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,701</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Provisions for warranties issued during the period</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,222</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Fulfillment of warranty obligations</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1,559</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign exchange rate changes</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(117</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of July 1, 2018</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5,247</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></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://www.xbrl.org/2003/role/presentationRef<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>28
<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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6656385104">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Derivative Instruments<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 01, 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>
</tr>
<tr class="ro">
<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"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Derivative Instruments</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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 </font><font style="font-family:Arial;font-size:10pt;">two</font><font style="font-family:Arial;font-size:10pt;"> types of hedges to manage this risk.  The first are economic hedges which utilize foreign currency forward contracts with maturities of up to </font><font style="font-family:Arial;font-size:10pt;">45</font><font style="font-family:Arial;font-size:10pt;"> days to manage the exposure to fluctuations in foreign currency exchange rates arising primarily from foreign-denominated receivables and payables.  The gains and losses on these derivatives are intended to be offset by the changes in the fair value of the assets and liabilities being hedged.  These economic hedges are not designated as hedging instruments for hedge accounting treatment.  The second are cash flow hedges which utilize foreign currency forward contracts with maturities of up to </font><font style="font-family:Arial;font-size:10pt;">18 months</font><font style="font-family:Arial;font-size:10pt;"> to hedge specific forecasted transactions of the Company's foreign subsidiaries with the goal of protecting the Company's budgeted revenues and expenses against foreign currency exchange rate changes compared to its budgeted rates.  These cash flow hedges are designated as hedging instruments for hedge accounting treatment. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company had the following outstanding forward contracts (in thousands):</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="14" rowspan="1"></td></tr><tr><td style="width:47%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:12%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:10%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="6" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">July 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="6" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">December 31, 2017</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Currency</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Notional<br clear="none"/>Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">USD<br clear="none"/>Equivalent</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Notional<br clear="none"/>Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">USD<br clear="none"/>Equivalent</font></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;" rowspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Not Designated as Hedging Instruments:</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Euro</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">17,000</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">19,897</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Japanese Yen</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">790,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">8,423</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">455,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,049</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Swiss Franc</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,425</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,879</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,365</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,401</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Hungarian Forint</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">655,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,756</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">545,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,110</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">British Pound</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,430</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,142</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,650</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,232</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Korean Won</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,875,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,968</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,825,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,708</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Taiwanese Dollar</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">47,600</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,837</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">37,725</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,278</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Canadian Dollar</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">855</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">753</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Singapore Dollar</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">700</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">602</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Information regarding the fair value of the outstanding forward contracts was as follows (in thousands):</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="20" rowspan="1"></td></tr><tr><td style="width:16%;" rowspan="1" colspan="1"></td><td style="width:17%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:10%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:12%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:10%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Asset Derivatives</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Liability Derivatives</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Balance</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Fair Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Balance</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Fair Value</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Sheet<br clear="none"/>Location</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">July 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">December 31, 2017</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Sheet<br clear="none"/>Location</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">July 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">December 31, 2017</font></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;" rowspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Not Designated as Hedging Instruments:<br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Economic hedge forward contracts</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Prepaid&#160;expenses&#160;and other current assets</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">88</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">16</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accrued expenses</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">86</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;font-size:10pt;"><font 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):</font><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="19" rowspan="1"></td></tr><tr><td style="width:21%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:10%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:12%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:22%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:10%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:12%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Asset Derivatives</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Liability Derivatives</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">July&#160;1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2017</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">July&#160;1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2017</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts of recognized assets</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">88</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">16</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts of recognized liabilities</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">86</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts offset</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts offset</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net amount of assets presented</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">88</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">16</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net amount of liabilities presented</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">86</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Information regarding the effect of derivative instruments on the consolidated financial statements was as follows (in thousands):</font><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" rowspan="1"></td></tr><tr><td style="width:25%;" rowspan="1" colspan="1"></td><td style="width:27%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></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;" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Location in Financial Statements</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Three-months Ended</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Six-months Ended</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">July 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">July 2, 2017</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">July 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">July 2, 2017</font></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;" rowspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Designated as Hedging Instruments:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gains (losses) recorded in shareholders' equity (effective portion)</font></div></td><td style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accumulated other comprehensive income (loss), net of tax</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">60</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">60</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gains (losses) reclassified from accumulated other comprehensive income (loss) into current operations (effective portion)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Revenue</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(46</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Research, development, and engineering expenses</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Selling, general, and administrative expenses</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">8</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Total gains (losses) reclassified from accumulated other comprehensive income (loss) into current operations</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(35</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gains (losses) recognized in current operations (ineffective portion and discontinued derivatives)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign currency gain (loss)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td colspan="11" style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Not Designated as Hedging Instruments:</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><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;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gains (losses) recognized in current operations</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign currency gain (loss)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(354</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">177</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(665</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">96</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></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://www.xbrl.org/2003/role/presentationRef<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>29
<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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6640073648">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation Expense<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 01, 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>
</tr>
<tr class="ro">
<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"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Stock-Based Compensation Expense</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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 awards.  As of </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">, the Company had </font><font style="font-family:Arial;font-size:10pt;">20,388,502</font><font 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 </font><font style="font-family:Arial;font-size:10pt;">four</font><font style="font-family:Arial;font-size:10pt;"> or five years based upon continuous service and expire </font><font style="font-family:Arial;font-size:10pt;">ten</font><font style="font-family:Arial;font-size:10pt;"> years from the grant date.  Restricted stock awards are granted with an exercise price equal to the market value of the Company's common stock at the time of grant.  Conditions of the award may be based on continuing employment and/or achievement of pre-established performance goals and objectives.  Vesting for performance-based restricted stock awards and time-based restricted stock awards must not be less than </font><font style="font-family:Arial;font-size:10pt;">one</font><font style="font-family:Arial;font-size:10pt;"> year and </font><font style="font-family:Arial;font-size:10pt;">three</font><font style="font-family:Arial;font-size:10pt;"> years, respectively; however, awards with time-based vesting may become vested incrementally over such three-year period.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the Company&#8217;s stock option activity for the </font><font style="font-family:Arial;font-size:10pt;">six</font><font style="font-family:Arial;font-size:10pt;">-month period ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">:</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="13" rowspan="1"></td></tr><tr><td style="width:39%;" rowspan="1" colspan="1"></td><td style="width:14%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:15%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Shares</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(in&#160;thousands)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Weighted-</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Average</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Exercise</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Price</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Weighted-</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Average</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Remaining</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Contractual</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Term&#160;(in&#160;years)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Aggregate</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Intrinsic</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(in&#160;thousands)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Outstanding as of December 31, 2017</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">12,726</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">25.24</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Granted</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,119</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">56.03</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Exercised</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(881</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">16.82</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Forfeited or expired</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(373</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">32.68</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Outstanding as of July 1, 2018</font></div></td><td style="vertical-align:bottom;border-bottom:2px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">13,591</font></div></td><td style="vertical-align:bottom;border-bottom:2px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:2px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:2px solid #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">30.39</font></div></td><td style="vertical-align:bottom;border-bottom:2px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:2px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">7.62</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:2px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:2px solid #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">223,515</font></div></td><td style="vertical-align:bottom;border-bottom:2px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Exercisable as of July 1, 2018</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4,781</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">19.98</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">6.17</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">117,767</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Options vested or expected to vest as of July 1, 2018 (1)</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">12,177</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">29.20</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">7.49</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">210,965</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:8px;text-align:justify;padding-left:48px;font-size:10pt;"><font 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.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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:</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="12" rowspan="1"></td></tr><tr><td style="width:40%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:14%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months&#160;Ended</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Six-months Ended</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">July 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">July 2, 2017</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">July 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">July 2, 2017</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Risk-free rate</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2.9</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2.4</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2.9</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2.4</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">%</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Expected dividend yield</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">0.32</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.39</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">0.32</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.39</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">%</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Expected volatility</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">39</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">41</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">39</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">41</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">%</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Expected term (in years)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5.4</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5.2</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5.3</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5.3</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Risk-free rate</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Expected dividend yield</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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;</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Expected volatility</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Expected term</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company stratifies its employee population into </font><font style="font-family:Arial;font-size:10pt;">two</font><font 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 </font><font style="font-family:Arial;font-size:10pt;">8%</font><font style="font-family:Arial;font-size:10pt;"> to all unvested options for senior management and a rate of </font><font style="font-family:Arial;font-size:10pt;">12%</font><font 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 an increase to compensation expense of </font><font style="font-family:Arial;font-size:10pt;">$1,283,000</font><font style="font-family:Arial;font-size:10pt;"> in 2018 and a decrease to compensation expense of </font><font style="font-family:Arial;font-size:10pt;">$673,000</font><font style="font-family:Arial;font-size:10pt;"> in 2017.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The weighted-average grant-date fair values of stock options granted during the three-month periods ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">July&#160;2, 2017</font><font style="font-family:Arial;font-size:10pt;"> were </font><font style="font-family:Arial;font-size:10pt;">$21.63</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">$15.51</font><font style="font-family:Arial;font-size:10pt;">, respectively.  The weighted-average grant-date fair values of stock options granted during the six-month periods ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">July&#160;2, 2017</font><font style="font-family:Arial;font-size:10pt;"> were </font><font style="font-family:Arial;font-size:10pt;">$21.62</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">$14.98</font><font style="font-family:Arial;font-size:10pt;">, respectively. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The total intrinsic values of stock options exercised for the three-month periods ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">July&#160;2, 2017</font><font style="font-family:Arial;font-size:10pt;"> were </font><font style="font-family:Arial;font-size:10pt;">$4,902,000</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">$19,408,000</font><font style="font-family:Arial;font-size:10pt;">, respectively.  The total intrinsic values of stock options exercised for the six-month periods ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">July&#160;2, 2017</font><font style="font-family:Arial;font-size:10pt;"> were </font><font style="font-family:Arial;font-size:10pt;">$32,991,000</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">$72,451,000</font><font style="font-family:Arial;font-size:10pt;">, respectively.  The total fair values of stock options vested for the three-month periods ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">July&#160;2, 2017</font><font style="font-family:Arial;font-size:10pt;"> were </font><font style="font-family:Arial;font-size:10pt;">$887,000</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">$725,000</font><font style="font-family:Arial;font-size:10pt;">, respectively.  The total fair values of stock options vested for the six-month periods ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">July&#160;2, 2017</font><font style="font-family:Arial;font-size:10pt;"> were </font><font style="font-family:Arial;font-size:10pt;">$26,560,000</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">$18,713,000</font><font style="font-family:Arial;font-size:10pt;">, respectively.   </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As of </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">, total unrecognized compensation expense related to non-vested stock options was </font><font style="font-family:Arial;font-size:10pt;">$56,124,000</font><font style="font-family:Arial;font-size:10pt;">, which is expected to be recognized over a weighted-average period of </font><font style="font-family:Arial;font-size:10pt;">1.80</font><font style="font-family:Arial;font-size:10pt;"> years.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the Company's restricted stock activity for the six-month period ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">: </font></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="11" rowspan="1"></td></tr><tr><td style="width:48%;" rowspan="1" colspan="1"></td><td style="width:15%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:14%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:16%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Shares                   (in thousands)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Weighted-Average     Grant Fair Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Aggregate Intrinsic Value                  (in thousands)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Nonvested as of December 31, 2017</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">20</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">17.03</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Granted</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Vested</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(20</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">17.03</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">993</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Forfeited or expired</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Nonvested as of July 1, 2018</font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The fair values of restricted stock awards 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.  These restricted shares became fully vested in 2018.  Participants were entitled to dividends on restricted stock awards, but only receive those amounts if the shares vest.  The sale or transfer of these shares was restricted during the vesting period.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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 </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;"> were </font><font style="font-family:Arial;font-size:10pt;">$9,002,000</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">$1,607,000</font><font style="font-family:Arial;font-size:10pt;">, respectively, and for the three-month period ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;2, 2017</font><font style="font-family:Arial;font-size:10pt;"> were </font><font style="font-family:Arial;font-size:10pt;">$7,846,000</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">$2,583,000</font><font style="font-family:Arial;font-size:10pt;">, respectively.  The total stock-based compensation expense and the related income tax benefit recognized for the six-month period ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;"> were </font><font style="font-family:Arial;font-size:10pt;">$22,196,000</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">$3,954,000</font><font style="font-family:Arial;font-size:10pt;">, respectively, and for the six-month period ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;2, 2017</font><font style="font-family:Arial;font-size:10pt;"> were </font><font style="font-family:Arial;font-size:10pt;">$15,329,000</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">$5,022,000</font><font style="font-family:Arial;font-size:10pt;">, respectively.  </font><font style="font-family:Arial;font-size:10pt;">No</font><font style="font-family:Arial;font-size:10pt;"> compensation expense was capitalized as of </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;"> or </font><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2017</font><font style="font-family:Arial;font-size:10pt;">.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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):</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="16" rowspan="1"></td></tr><tr><td style="width:38%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:12%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months Ended</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Six-months Ended</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">July 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">July 2, 2017</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">July 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">July 2, 2017</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cost of revenue</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">557</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">454</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,354</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">884</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Research, development, and engineering</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">3,154</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,715</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">7,969</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,325</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Selling, general, and administrative</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5,291</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,677</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">12,873</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,120</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">9,002</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7,846</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">22,196</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">15,329</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></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://www.xbrl.org/2003/role/presentationRef<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>30
<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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6643742464">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock Repurchase Program<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 01, 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_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"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Stock Repurchase Program</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In April 2017, the Company's Board of Directors authorized the repurchase of </font><font style="font-family:Arial;font-size:10pt;">$100,000,000</font><font style="font-family:Arial;font-size:10pt;"> of the Company's common stock.  As of July 1, 2018, the Company had repurchased </font><font style="font-family:Arial;font-size:10pt;">1,744,000</font><font style="font-family:Arial;font-size:10pt;"> shares at a cost of </font><font style="font-family:Arial;font-size:10pt;">$100,000,000</font><font style="font-family:Arial;font-size:10pt;"> under this program, including </font><font style="font-family:Arial;font-size:10pt;">803,000</font><font style="font-family:Arial;font-size:10pt;"> shares at a cost of </font><font style="font-family:Arial;font-size:10pt;">$45,200,000</font><font style="font-family:Arial;font-size:10pt;"> in the three-month period ended April 1, 2018. Stock repurchases under this April 2017 program were completed in the three-month period ended April 1, 2018.  In February 2018, the Company's Board of Directors authorized the repurchase of an additional </font><font style="font-family:Arial;font-size:10pt;">$150,000,000</font><font style="font-family:Arial;font-size:10pt;"> of the Company's common stock.  As of July 1, 2018,  the Company had repurchased </font><font style="font-family:Arial;font-size:10pt;">1,553,000</font><font style="font-family:Arial;font-size:10pt;"> shares at a cost of </font><font style="font-family:Arial;font-size:10pt;">$76,108,000</font><font style="font-family:Arial;font-size:10pt;"> under this program, leaving a remaining authorized balance of </font><font style="font-family:Arial;font-size:10pt;">$73,892,000</font><font style="font-family:Arial;font-size:10pt;">.  Total stock repurchases in the six-month period ended July 1, 2018 amounted to </font><font style="font-family:Arial;font-size:10pt;">$121,308,000</font><font style="font-family:Arial;font-size:10pt;">. The Company may repurchase shares under this program in future periods 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.</font></div></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://www.xbrl.org/2003/role/presentationRef<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>31
<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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6642460704">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Taxes<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 01, 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>
</tr>
<tr class="ro">
<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"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Taxes</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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:</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="12" rowspan="1"></td></tr><tr><td style="width:53%;" rowspan="1" colspan="1"></td><td style="width:10%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:10%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:10%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:10%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months&#160;Ended</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Six-months Ended</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">July 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">July 2, 2017</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">July 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">July 2, 2017</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Income tax provision at federal statutory corporate tax rate</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">21</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">35</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">21</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">35</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;%</font></div></td></tr><tr><td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">State income taxes, net of federal benefit</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;%</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign tax rate differential</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(7</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(18</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(7</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(18</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)%</font></div></td></tr><tr><td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Tax credit</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)%</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Discrete tax benefit related to stock option exercises</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(1</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(9</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(5</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(19</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)%</font></div></td></tr><tr><td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Other</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;%</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Income tax provision</font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">16</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">11</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)%</font></div></td></tr></table></div><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">On December 22, 2017, the United States Congress passed and the President signed into law the Tax Act.  The Tax Act included a decrease in the U.S. federal statutory corporate tax rate from </font><font style="font-family:Arial;font-size:10pt;">35%</font><font style="font-family:Arial;font-size:10pt;"> to </font><font style="font-family:Arial;font-size:10pt;">21%</font><font style="font-family:Arial;font-size:10pt;">, a one-time transition tax on unrepatriated foreign earnings, and limits on certain deductions.  The Company made what it considers to be a reasonable estimate of the impact of the Tax Act in its financial statements for the year ended December 31, 2017.  The Company has not recorded any changes to this estimate for the three-month and six-month periods ended July 1, 2018.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Securities and Exchange Commission (SEC) released Staff Accounting Bulletin (SAB) No. 118 to provide guidance to companies on how to implement the accounting and disclosure changes as a result of the Tax Act.  The SEC staff guidance has recognized that, due to the complexity and timing of the release of the Tax Act, the accounting for this change in the law may be incomplete upon issuance of a company's financial statements.  This significant estimate is highly judgmental and changes to this estimate could result in material charges or credits in future reporting periods.  U.S. Treasury regulations and administrative guidance have not been finalized as of the date of these financial statements.  The issuance of final regulations may require the Company to revise its estimates of earnings and profits, as well as certain deferred taxes as required.  The Tax Act subjects the Company to current tax on Global Intangible Low-Taxed Income (GILTI) earned by certain foreign subsidiaries.&#160; The Company can make an accounting policy election to either recognize deferred taxes for temporary differences expected to reverse as GILTI in future years or provide for the tax expense related to GILTI resulting from those items in the year the tax is incurred.  As of the date of this report, the Company is still evaluating the guidance and has not made a policy election related to the treatment of the GILTI tax.  The Company will continue to gather and analyze information on historical unrepatriated foreign earnings and to monitor state laws relating to this income to finalize both the federal and state tax impact.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The majority of income earned outside of the United States is permanently reinvested to provide funds for international expansion.  The Company is tax resident in numerous jurisdictions around the world and has identified its major jurisdictions as the United States, Ireland, and China.  The statutory tax rate is </font><font style="font-family:Arial;font-size:10pt;">12.5%</font><font style="font-family:Arial;font-size:10pt;"> in Ireland and </font><font style="font-family:Arial;font-size:10pt;">25%</font><font style="font-family:Arial;font-size:10pt;"> in China, compared to the U.S. federal statutory corporate tax rate of </font><font style="font-family:Arial;font-size:10pt;">21%</font><font 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 </font><font style="font-family:Arial;font-size:10pt;">7</font><font style="font-family:Arial;font-size:10pt;"> percentage points</font><font style="font-family:Arial;font-size:10pt;font-weight:bold;"> </font><font style="font-family:Arial;font-size:10pt;">for the three-month and </font><font style="font-family:Arial;font-size:10pt;">six</font><font style="font-family:Arial;font-size:10pt;">-month periods ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">, and a decrease in the effective tax rate by </font><font style="font-family:Arial;font-size:10pt;">18</font><font style="font-family:Arial;font-size:10pt;"> percentage points for the three-month and six-month periods ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;2, 2017</font><font style="font-family:Arial;font-size:10pt;">.  </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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 of the effective tax rate by </font><font style="font-family:Arial;font-size:10pt;">1</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">9</font><font style="font-family:Arial;font-size:10pt;"> percentage points for the three-month periods ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">July&#160;2, 2017</font><font style="font-family:Arial;font-size:10pt;">, respectively, and a decrease of the effective tax rate by </font><font style="font-family:Arial;font-size:10pt;">5</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">19</font><font style="font-family:Arial;font-size:10pt;"> percentage points for the </font><font style="font-family:Arial;font-size:10pt;">six</font><font style="font-family:Arial;font-size:10pt;">-month periods ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">July&#160;2, 2017</font><font style="font-family:Arial;font-size:10pt;">, respectively. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">On January 1, 2018, the Company adopted Accounting Standard Update (ASU) 2016-16, "Income Taxes - Intra-Entity Transfers of Assets Other than Inventory."  This Update requires the recognition of deferred income taxes for an intra-entity transfer of an asset other than inventory.  As a result of this ASU, the Company recorded </font><font style="font-family:Arial;font-size:10pt;">$5,961,000</font><font style="font-family:Arial;font-size:10pt;"> through a cumulative-effect adjustment directly to retained earnings at the beginning of fiscal year 2018.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">During the </font><font style="font-family:Arial;font-size:10pt;">six</font><font style="font-family:Arial;font-size:10pt;">-month period ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">, the Company recorded a </font><font style="font-family:Arial;font-size:10pt;">$879,000</font><font 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 </font><font style="font-family:Arial;font-size:10pt;">$136,000</font><font style="font-family:Arial;font-size:10pt;"> for the </font><font style="font-family:Arial;font-size:10pt;">six</font><font style="font-family:Arial;font-size:10pt;">-month period ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company&#8217;s reserve for income taxes, including gross interest and penalties, was </font><font style="font-family:Arial;font-size:10pt;">$8,427,000</font><font style="font-family:Arial;font-size:10pt;"> as of </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">, which included </font><font style="font-family:Arial;font-size:10pt;">$7,399,000</font><font style="font-family:Arial;font-size:10pt;"> classified as a non-current liability and </font><font style="font-family:Arial;font-size:10pt;">$1,028,000</font><font 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 </font><font style="font-family:Arial;font-size:10pt;">$924,000</font><font 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 </font><font style="font-family:Arial;font-size:10pt;">$1,100,000</font><font style="font-family:Arial;font-size:10pt;"> to </font><font style="font-family:Arial;font-size:10pt;">$1,200,000</font><font style="font-family:Arial;font-size:10pt;"> over the next twelve months.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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 </font><font style="font-family:Arial;font-size:10pt;">2014 through 2017</font><font style="font-family:Arial;font-size:10pt;"> remain open to examination by the Internal Revenue Service and various state tax authorities.  The tax years </font><font style="font-family:Arial;font-size:10pt;">2013 through 2017</font><font style="font-family:Arial;font-size:10pt;"> remain open to examination by various taxing authorities in other jurisdictions in which the Company operates.</font></div></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_IncomeTaxDisclosureTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for income taxes. Disclosures may include net deferred tax liability or asset recognized in an enterprise's statement of financial position, net change during the year in the total valuation allowance, approximate tax effect of each type of temporary difference and carryforward that gives rise to a significant portion of deferred tax liabilities and deferred tax assets, utilization of a tax carryback, and tax uncertainties information.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<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>32
<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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6632581248">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Weighted-Average Shares<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 01, 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>
</tr>
<tr class="ro">
<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"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Weighted-Average Shares</font></div><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Weighted-average shares were calculated as follows (in thousands):</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="12" rowspan="1"></td></tr><tr><td style="width:53%;" rowspan="1" colspan="1"></td><td style="width:10%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:10%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:10%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:10%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months Ended</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Six-months Ended</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">July 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">July 2, 2017</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">July 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">July 2, 2017</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Basic weighted-average common shares outstanding</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">172,370</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">173,278</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">172,825</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">172,960</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Effect of dilutive stock options</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4,779</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,950</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5,593</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,944</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Weighted-average common and common-equivalent shares outstanding</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">177,149</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">179,228</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">178,418</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">178,904</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Stock options to purchase </font><font style="font-family:Arial;font-size:10pt;">2,959,000</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">2,032,000</font><font style="font-family:Arial;font-size:10pt;"> shares of common stock, on a weighted-average basis, were outstanding during the three-month and six-month periods ended July 1, 2018, respectively, and </font><font style="font-family:Arial;font-size:10pt;">3,792,000</font><font style="font-family:Arial;font-size:10pt;"> and </font><font style="font-family:Arial;font-size:10pt;">2,715,000</font><font style="font-family:Arial;font-size:10pt;"> for the same periods in 2017, but were not included in the calculation of dilutive net income per share because they were anti-dilutive.</font></div></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://www.xbrl.org/2003/role/presentationRef<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>33
<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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6634679264">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Subsequent Events<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 01, 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_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"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Subsequent Events</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">On July 30, 2018, the Company&#8217;s Board of Directors declared a cash dividend of </font><font style="font-family:Arial;font-size:10pt;">$0.045</font><font style="font-family:Arial;font-size:10pt;"> per share.  The dividend is payable </font><font style="font-family:Arial;font-size:10pt;">August&#160;31, 2018</font><font style="font-family:Arial;font-size:10pt;"> to all shareholders of record as of the close of business on </font><font style="font-family:Arial;font-size:10pt;">August&#160;17, 2018</font><font style="font-family:Arial;font-size:10pt;">.</font></div></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_SubsequentEventsAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventsAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventsTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The entire disclosure for significant events or transactions that occurred after the balance sheet date through the date the financial statements were issued or the date the financial statements were available to be issued. Examples include: the sale of a capital stock issue, purchase of a business, settlement of litigation, catastrophic loss, significant foreign exchange rate changes, loans to insiders or affiliates, and transactions not in the ordinary course of business.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<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>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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6826857248">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Summary of Significant Accounting Policies (Policies)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 01, 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_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_RevenueRecognitionPolicyTextBlock', window );">Revenue Recognition</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Revenue Recognition</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company recognizes revenue in accordance with Accounting Standards Codification (ASC) 606, &#8220;Revenue from Contracts with Customers.&#8221; The core principle of ASC 606 is to recognize revenue in a manner that depicts the transfer of promised goods or services to customers in an amount that reflects the consideration to which the Company expects to be entitled in exchange for those goods or services.  The framework in support of this core principle includes: (1) identifying the contract with the customer; (2) identifying the performance obligations in the contract; (3) determining the transaction price; (4) allocating the transaction price to the performance obligations; and (5) recognizing revenue when (or as) the performance obligations are satisfied.  </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Identifying the Contract with the Customer</font></div><div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company identifies contracts with customers as agreements that create enforceable rights and obligations, which typically take the form of customer contracts or purchase orders.  </font></div><div style="line-height:120%;padding-top:8px;text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Identifying the Performance Obligations in the Contract</font></div><div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company identifies performance obligations as promises in contracts to transfer distinct goods or services. Standard products and services that the Company regularly sells separately are accounted for as distinct performance obligations.  Application-specific customer solutions that are comprised of a combination of products and services are accounted for as one performance obligation to deliver a total solution to the customer.  On-site support services that are provided to the customer after the solution is deployed are accounted for as a separate performance obligation.  These solutions are provided to customers in a variety of industries, including the consumer electronics, logistics, and automotive industries.   </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Shipping and handling activities for which the Company is responsible under the terms and conditions of the sale are not accounted for as performance obligations but as fulfillment costs.  These activities are required to fulfill the Company&#8217;s promise to transfer the goods and are expensed when revenue is recognized.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company does not assess whether promised goods or services are performance obligations if they are immaterial in the context of the contract.  If revenue is recognized before immaterial promises have been completed, then the costs related to such immaterial promises are accrued at the time of sale.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Determining the Transaction Price</font></div><div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company determines the transaction price as the amount of consideration it expects to receive in exchange for transferring promised goods or services to the customer.  Amounts collected from customers for sales taxes are excluded from the transaction price. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">If a contract includes a variable amount, such as a rebate, then the Company estimates the transaction price using either the expected value or the most likely amount of consideration to be received, depending upon the specific facts and circumstances.  The Company includes estimated variable consideration in the transaction price only to the extent it is probable that a significant reversal of revenue will not occur when the uncertainty is resolved.  The Company updates its estimate of variable consideration at the end of each reporting period to reflect changes in facts and circumstances.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Allocating the Transaction Price to the Performance Obligations</font></div><div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company allocates the transaction price to each performance obligation at contract inception based on a relative stand-alone selling price basis, or the price at which the Company would sell the good or service separately to similar customers in similar circumstances.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Recognizing Revenue When (or As) the Performance Obligations are Satisfied</font></div><div style="line-height:120%;padding-top:4px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company recognizes revenue when it transfers the promised goods or services to the customer.  Revenue for standard products is recognized at the point in time when the customer obtains control of the goods, which is typically upon delivery when the customer has legal title, physical possession, the risks and rewards of ownership, and an enforceable obligation to pay for the products.  Revenue for services, which are not material, is typically recognized over the time the service is provided.  </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Revenue for application-specific customer solutions is recognized at the point in time when the solution is validated, which is the point in time when the Company can objectively determine that the agreed-upon specifications in the contract have been met and the customer will accept the performance obligations in the arrangement.  Although the customer may have taken legal title and physical possession of the goods when they arrived at the customer&#8217;s designated site, the significant risks and rewards of ownership transfer to the customer only upon validation.  Revenue for on-site support services related to these solutions is recognized over the time the service is provided.  </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">In certain instances, an arrangement may include customer-specified acceptance provisions or performance guarantees that allow the customer to accept or reject delivered products that do not meet the customer&#8217;s specifications.  If the Company can objectively determine that control of a good or service has been transferred to the customer in accordance with the agreed-upon specifications in the contract, then customer acceptance is a formality.  If acceptance provisions are presumed to be substantive, then revenue is deferred until customer acceptance.  </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">For the Company&#8217;s standard products and services, revenue recognition and billing typically occur at the same time.  For application-specific customer solutions, however, the agreement with the customer may provide for billing terms which differ from revenue recognition criteria, resulting in either deferred revenue or unbilled revenue.  Credit assessments are performed to determine payment terms, which vary by region, industry, and customer.  Prepayment terms result in contract liabilities for customer deposits.  When credit is granted to customers, payment is typically due 30 to 90 days from billing.  The Company's contracts have an original expected duration of less than one year, and therefore as a practical expedient, the Company has elected to ignore the impact of the time value of money on a contract and to expense sales commissions.  The Company recognizes an asset for costs to fulfill a contract if the costs relate directly to the contract and to future performance, and the costs are expected to be recovered.  </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Management exercises judgment when determining the amount of revenue to be recognized each period.  Such judgments include, but are not limited to, assessing the customer&#8217;s ability and intention to pay substantially all of the contract consideration when due, determining when two or more contracts should be combined and accounted for as a single contract, determining whether a contract modification has occurred, assessing whether promises are immaterial in the context of the contract, determining whether material promises in a contract represent distinct performance obligations, estimating the transaction price for a contract that contains variable consideration, determining the stand-alone selling price of each performance obligation, determining whether control is transferred over time or at a point in time for performance obligations, and assessing whether formal customer acceptance provisions are substantive.</font></div></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"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2016-02, "Leases"</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ASU 2016-02 creates Topic 842, Leases.  The objective of this Update is to increase transparency and comparability among organizations by recognizing lease assets and lease liabilities on the balance sheet, and disclosing key information about leasing arrangements.  This ASU applies to any entity that enters into a lease, although lessees will see the most significant changes.  The main difference between current GAAP and Topic 842 is the recognition of lease assets and lease liabilities on the balance sheet for those leases classified as operating leases under current GAAP.  Topic 842 distinguishes between finance leases and operating leases, which are substantially similar to the classification criteria for distinguishing between capital leases and operating leases under current GAAP.  For public companies, the  guidance in ASU 2016-02 is effective for annual periods beginning after December 15, 2018, and interim periods within those annual periods.  Although this ASU is required to be applied using a modified retrospective approach, the Financial Accounting Standards Board is reportedly in the final stages of issuing an optional transition method allowing entities to apply the amendments of this Update as a cumulative-effect adjustment to retained earnings.  Management will continue to monitor the final implementation guidance to determine the adoption method.  As of the date of this report,  management has determined the scope of leases subject to the new accounting requirements and has selected a software package to assist with compliance.  Management is in the process of reviewing all leases in scope, completing the implementation of the lease accounting software, and drafting the internal lease accounting policy and the related processes, internal controls, and disclosures. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2016-13, "Financial Instruments - Measurement of Credit Losses"</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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 Update eliminate the probable initial recognition threshold to recognize a credit loss under current  GAAP and, instead, reflect an entity&#8217;s current estimate of all expected credit losses.  In addition, this Update 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 Update 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.&#160; Management does not expect ASU 2016-13 to have a material impact on the Company's financial statements and disclosures.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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 "</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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 Update 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 Update 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.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2017-12, "Derivatives and Hedging - Targeted Improvements to Accounting for Hedging Activities"</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ASU 2017-12 applies to all reporting entities that elect to apply hedge accounting.  The hedge accounting requirements under current GAAP sometimes do not permit an entity to properly recognize the economic results of the hedging strategy in the financial statements, and they are difficult to understand and interpret.  The amendments in this Update make certain targeted improvements to simplify the application of the hedge accounting guidance.  Also, they better align the risk management activities and financial reporting for hedging relationships through changes to both 1) the designation and measurement guidance for qualifying hedging relationships and 2) the presentation of hedge results.  For public companies, the amendments in ASU 2017-12 are effective for annual reporting periods beginning after December 15, 2018, and interim reporting periods within those annual periods.  Early adoption is permitted including adoption in any interim period after issuance of the Update.  All transition requirements and elections should be applied to hedging relationships existing on the date of adoption.  The entity should apply a cumulative-effect adjustment related to eliminating the separate measurement of ineffectiveness to accumulated other comprehensive income with a corresponding adjustment to the opening balance of retained earnings as of the beginning of the fiscal year that an entity adopts the amendments in this Update.  The amended presentation and disclosure guidance is required only prospectively.  Management does not expect ASU 2017-12 to have a material impact on the Company's financial statements and disclosures.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2018-01, "Land Easement Practical Expedient for Transition to Topic 842"</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ASU 2018-01 applies to entities with land easements that exist or expired before an entity&#8217;s adoption of Topic 842, provided that the entity does not account for those land easements as leases under Topic 840.  The amendments in this Update permit an entity to elect an optional transition practical expedient to not evaluate under Topic 842 land easements that exist or expired before the entity&#8217;s adoption of Topic 842 and that were not previously accounted for as leases under Topic 840.  An entity that elects this practical expedient should apply the practical expedient consistently to all of its existing or expired land easements that were not previously accounted for as leases under Topic 840.  Once an entity adopts Topic 842, it should apply that Topic prospectively to all new (or modified) land easements to determine whether the arrangement should be accounted for as a lease.  An entity that does not elect this practical expedient should evaluate all existing or expired land easements in connection with the adoption of the new lease requirements in Topic 842 to assess whether they meet the definition of a lease.  The amendments in this Update affect the amendments in Update 2016-02, which are not yet effective but may be early adopted.  The effective date and transition requirements for the amendments are the same as the effective date and transition requirements in Update 2016-02,  which is for annual periods beginning after December 15, 2018, and interim periods within those annual periods. Management does not expect ASU 2018-01 to have a material impact on the Company's financial statements and disclosures.</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2018-02, "Income Statement - Reporting Comprehensive Income"</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ASU 2018-02 applies to entities required to apply the provisions of Topic 220, Income Statement - Reporting Comprehensive Income, and has items of other comprehensive income for which the related tax effects are presented in other comprehensive income as required by GAAP.  The amendments in this Update allow a reclassification from accumulated other comprehensive income to retained earnings for stranded tax effects resulting from the Tax Cuts and Jobs Act of 2017 (the "Tax Act").  Consequently, the amendments eliminate the stranded tax effects resulting from the Tax Act and will improve the usefulness of information reported to financial statement users.  However, because the amendments only relate to the reclassification of the income tax effects of the Tax Act, the underlying guidance that requires the effect of a change in tax laws or rates to be included in income from continuing operations is not affected.  The amendments in this Update also require certain disclosures about stranded tax effects.  The amendments in this Update are effective for all entities for fiscal years beginning after December 15, 2018, and interim periods within those fiscal years.  Early adoption of the amendments in this Update is permitted, including adoption in any interim period.  The amendments in this Update should be applied either in the period of adoption or retrospectively to each period (or periods) in which the effect of the change in the U.S. federal corporate income tax rate in the Tax Act is recognized.  Management does not expect ASU 2018-02 to have a material impact on the Company's financial statements and disclosures. </font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;text-decoration:underline;">Accounting Standards Update (ASU) 2018-07, "Compensation - Stock Compensation - Improvements to Nonemployee Share-Based Payment Accounting"</font></div><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">ASU 2018-07 applies to all entities that enter into share-based payment transactions for acquiring goods and services from nonemployees.  The amendments in this Update expand the scope of Topic 718, Compensation - Stock Compensation, to include share-based payments transactions to nonemployees.  Changes to the accounting for nonemployee awards as a result of this Update include: 1) equity-classified nonemployee share-based payment awards are measured at the grant date, instead of the previous requirement to remeasure the awards through the performance completion date, 2) for awards with performance conditions, compensation cost is recognized when the achievement of the performance condition is probable, rather than upon achievement, and 3) the current requirement to reassess the classification (equity or liability) for nonemployee awards upon vesting is eliminated.  This Update clarifies that Topic 718 does not apply to financing transactions or awards granted to customers as part of a contract accounted for under Topic 606, Revenue from Contracts with Customers.  The amendments in this Update are effective for public business entities for fiscal years beginning after December 15, 2018, and interim periods within that fiscal year.  An entity should only remeasure liability-classified awards that have not been settled by the date of adoption and equity-classified awards for which the measurement date has not been established through a cumulative-effect adjustment to retained earnings as of the beginning of the fiscal year of adoption.  Management does not expect ASU 2018-07 to have a material impact on the Company's financial statements and disclosures.</font></div></div><span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AccountingPoliciesAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AccountingPoliciesAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Disclosure of accounting policy pertaining to new accounting pronouncements that may impact the entity's financial reporting. Includes, but is not limited to, quantification of the expected or actual impact.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_NewAccountingPronouncementsPolicyPolicyTextBlock</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>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_RevenueRecognitionPolicyTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 revenue recognition. If the entity has different policies for different types of revenue transactions, the policy for each material type of transaction is generally disclosed. If a sales transaction has multiple element arrangements (for example, delivery of multiple products, services or the rights to use assets) the disclosure may indicate the accounting policy for each unit of accounting as well as how units of accounting are determined and valued. The disclosure may encompass important judgment as to appropriateness of principles related to recognition of revenue. The disclosure also may indicate the entity's treatment of any unearned or deferred revenue that arises from the transaction.</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 FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18823-107790<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 605<br> -SubTopic 10<br> -Section S99<br> -Paragraph 1<br> -Subparagraph (SAB Topic 13.B.Q1)<br> -URI http://asc.fasb.org/extlink&amp;oid=65893310&amp;loc=d3e214044-122780<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 3<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18780-107790<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 235<br> -SubTopic 10<br> -Section 50<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=84158767&amp;loc=d3e18726-107790<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_RevenueRecognitionPolicyTextBlock</td>
</tr>
<tr>
<td style="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>35
<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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6801766464">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Fair Value Measurements (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 01, 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_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="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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 </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;"> (in thousands):</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="12" rowspan="1"></td></tr><tr><td style="width:50%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:14%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:14%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:14%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Quoted&#160;Prices&#160;in</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Active Markets</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">for Identical</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Assets (Level 1)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Significant&#160;    Other</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Observable</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Inputs (Level 2)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;"><br clear="none"/>Unobservable<br clear="none"/>Inputs                                                                                                                                                                             (Level 3)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Assets:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Money market instruments</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,055</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">324,801</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">136,377</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">102,980</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">35,181</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">16,346</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,996</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Economic hedge forward contracts</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">88</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Liabilities:</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><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;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><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;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Economic hedge forward contracts</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(86</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Contingent consideration liabilities</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,303</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></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="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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 six-month period ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;"> (in thousands):</font></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" rowspan="1"></td></tr><tr><td style="width:85%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2017</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,557</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Fair value adjustment to Manatee contingent consideration</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1,350</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Fair value adjustment to GVi contingent consideration</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">988</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Fair value adjustment to Chiaro contingent consideration</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">108</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Payment of GVi contingent consideration</font></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;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1,000</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of July 1, 2018</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,303</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></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://www.xbrl.org/2003/role/presentationRef<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=66048111&amp;loc=d3e19279-110258<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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=66048111&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_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://www.xbrl.org/2003/role/presentationRef<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=66048111&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>36
<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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6809157376">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Cash, Cash Equivalents, and Investments (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 01, 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>
</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="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash, cash equivalents, and investments consisted of the following (in thousands):</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="8" rowspan="1"></td></tr><tr><td style="width:63%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:16%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:16%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">July 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">December 31, 2017</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">124,147</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">97,951</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Money market instruments</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5,055</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">8,631</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cash and cash equivalents</font></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;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">129,202</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">106,582</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">136,377</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">150,371</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">116,347</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">47,395</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">55,240</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">59,203</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">29,247</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">10,608</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">9,154</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">8,805</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">7,375</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">21,579</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Short-term investments</font></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;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">353,740</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">297,961</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">208,454</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">296,014</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">47,740</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">71,727</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">8,971</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13,147</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5,934</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">14,890</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">842</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,204</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">23,459</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Long-term investments</font></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;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">271,941</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">423,441</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">754,883</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">827,984</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></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="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the Company&#8217;s available-for-sale investments as of </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;"> (in thousands):</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:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="16" rowspan="1"></td></tr><tr><td style="width:44%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:12%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Amortized<br clear="none"/>Cost</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Gross<br clear="none"/>Unrealized<br clear="none"/>Gains</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Gross<br clear="none"/>Unrealized<br clear="none"/>Losses</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Fair&#160;Value</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Short-term:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">136,706</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(332</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">136,377</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">116,659</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">59</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(371</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">116,347</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">55,459</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(219</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">55,240</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">29,248</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">29,247</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,165</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(11</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,154</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7,400</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(26</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7,375</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Long-term:</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><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;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><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;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><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;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">208,382</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">636</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(564</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">208,454</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">48,033</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">12</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(305</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">47,740</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">8,977</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">35</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(41</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">8,971</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,930</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,934</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">855</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(13</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">842</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">626,814</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">750</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(1,883</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">625,681</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></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="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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 </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;"> (in thousands):</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:99.80506822612085%;border-collapse:collapse;text-align:left;"><tr><td colspan="24" rowspan="1"></td></tr><tr><td style="width:29%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td colspan="15" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Unrealized Loss Position For:</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:left;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Less than 12 Months</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">12 Months or Greater</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Total</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Fair&#160;Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Unrealized</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Losses</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Fair&#160;Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Unrealized</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Losses</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Fair&#160;Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;border-top:1px solid #000000;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Unrealized</font></div><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Losses</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">139,225</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(713</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">22,908</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(222</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">162,133</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(935</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">84,309</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(149</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">48,464</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(183</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">132,773</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(332</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">90,411</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(496</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,462</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(28</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">94,873</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(524</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">29,246</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">29,246</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,562</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(9</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,581</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(58</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">8,143</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(67</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,692</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(24</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,692</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(24</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">350,445</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(1,392</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">80,415</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(491</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">430,860</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(1,883</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td></tr></table></div></div></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="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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 </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;"> (in thousands):</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:99.22027290448344%;border-collapse:collapse;text-align:left;"><tr><td colspan="28" rowspan="1"></td></tr><tr><td style="width:24%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:8%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:8%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:8%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:8%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:8%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:8%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:8%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">&lt;1 year</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">1-2 Years</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">2-3 Years</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">3-4 Years</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">4-5 Years</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">5-7 Years</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Total</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Corporate bonds</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">116,347</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">96,004</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">71,890</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">29,491</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7,704</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,365</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">324,801</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Treasury bills</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">136,377</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">136,377</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Asset-backed securities</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">55,240</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">31,023</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,178</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,320</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,809</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,410</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">102,980</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Agency bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">29,247</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,934</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">35,181</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Sovereign bonds</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7,375</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,963</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,008</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">16,346</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Municipal bonds</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,154</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">842</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,996</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">353,740</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">132,990</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">77,918</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">33,811</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">19,447</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">7,775</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">625,681</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></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://www.xbrl.org/2003/role/presentationRef<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>37
<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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6656434816">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Inventories (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 01, 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>
</tr>
<tr class="ro">
<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="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Inventories consisted of the following (in thousands):</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="8" rowspan="1"></td></tr><tr><td style="width:63%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:16%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:16%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">July 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;">December 31, 2017</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Raw materials</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">46,020</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">33,927</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Work-in-process</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,114</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Finished goods</font></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;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">43,536</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">31,882</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">89,556</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">67,923</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></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://www.xbrl.org/2003/role/presentationRef<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 2: http://www.xbrl.org/2003/role/presentationRef<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 3: http://www.xbrl.org/2003/role/presentationRef<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><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<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></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>38
<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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6791209424">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Intangible Assets (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 01, 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_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="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:6px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Amortized intangible assets consisted of the following (in thousands):</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="12" rowspan="1"></td></tr><tr><td style="width:53%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Gross</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Accumulated</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Amortization</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Net</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Distribution networks</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">38,060</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">38,060</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Completed technologies</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">13,687</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5,400</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">8,287</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Customer relationships</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">8,607</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5,459</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">3,148</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Non-compete agreements</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">370</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">154</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">216</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of July 1, 2018</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">60,724</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">49,073</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">11,651</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;height:12px;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;" rowspan="1" colspan="1"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;height:12px;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;" rowspan="1" colspan="1"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;height:12px;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:inherit;font-size:8pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Gross</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Accumulated</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Amortization</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Net</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Carrying</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Distribution networks</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">38,060</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">38,060</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Completed technologies</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13,687</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,181</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,506</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Customer relationships</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">8,607</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,202</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3,405</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:12px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Non-compete agreements</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">370</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">92</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">278</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2017</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">60,724</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">47,535</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13,189</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></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="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:6px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">As of July 1, 2018, estimated future amortization expense related to intangible assets is as follows (in thousands):</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" rowspan="1"></td></tr><tr><td style="width:82%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:15%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;text-decoration:underline;">Year Ended December&#160;31,</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;font-weight:bold;">Amount</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Remainder of fiscal 2018</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,538</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2019</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,701</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2020</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,185</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2021</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,017</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2022</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,691</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2023</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">989</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Thereafter</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">530</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">11,651</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></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://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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>39
<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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6656748112">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Warranty Obligations (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 01, 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_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="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The changes in the warranty obligation were as follows (in thousands):</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="4" rowspan="1"></td></tr><tr><td style="width:82%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:16%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of December 31, 2017</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,701</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Provisions for warranties issued during the period</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,222</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Fulfillment of warranty obligations</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1,559</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign exchange rate changes</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(117</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Balance as of July 1, 2018</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5,247</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></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://www.xbrl.org/2003/role/presentationRef<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>40
<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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6707143904">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Derivative Instruments (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 01, 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>
</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="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The Company had the following outstanding forward contracts (in thousands):</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="14" rowspan="1"></td></tr><tr><td style="width:47%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:12%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:10%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="6" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">July 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="6" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">December 31, 2017</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Currency</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Notional<br clear="none"/>Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">USD<br clear="none"/>Equivalent</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Notional<br clear="none"/>Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">USD<br clear="none"/>Equivalent</font></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;" rowspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Not Designated as Hedging Instruments:</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Euro</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">17,000</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">19,897</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Japanese Yen</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">790,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">8,423</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">455,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,049</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Swiss Franc</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,425</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,879</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,365</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,401</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Hungarian Forint</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">655,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,756</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">545,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,110</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">British Pound</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,430</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2,142</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,650</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,232</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Korean Won</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,875,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,968</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,825,000</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,708</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Taiwanese Dollar</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">47,600</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,837</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">37,725</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1,278</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Canadian Dollar</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">855</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">753</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Singapore Dollar</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">700</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">602</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></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="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Information regarding the fair value of the outstanding forward contracts was as follows (in thousands):</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="20" rowspan="1"></td></tr><tr><td style="width:16%;" rowspan="1" colspan="1"></td><td style="width:17%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:10%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:12%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:10%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Asset Derivatives</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Liability Derivatives</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Balance</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Fair Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Balance</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Fair Value</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Sheet<br clear="none"/>Location</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">July 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">December 31, 2017</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Sheet<br clear="none"/>Location</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">July 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">December 31, 2017</font></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;" rowspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Not Designated as Hedging Instruments:<br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Economic hedge forward contracts</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Prepaid&#160;expenses&#160;and other current assets</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">88</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">16</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accrued expenses</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">86</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></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="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;font-size:10pt;"><font 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):</font><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="19" rowspan="1"></td></tr><tr><td style="width:21%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:10%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:12%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:22%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:10%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:12%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Asset Derivatives</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Liability Derivatives</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">July&#160;1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2017</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">July&#160;1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">December&#160;31, 2017</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts of recognized assets</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">88</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">16</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts of recognized liabilities</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">86</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts offset</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gross amounts offset</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net amount of assets presented</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">88</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">16</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Net amount of liabilities presented</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">86</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">13</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></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="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Information regarding the effect of derivative instruments on the consolidated financial statements was as follows (in thousands):</font><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" rowspan="1"></td></tr><tr><td style="width:25%;" rowspan="1" colspan="1"></td><td style="width:27%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:9%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></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;" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Location in Financial Statements</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Three-months Ended</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:9pt;"><font style="font-family:Arial;font-size:9pt;font-weight:bold;">Six-months Ended</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">July 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">July 2, 2017</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">July 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">July 2, 2017</font></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;" rowspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Designated as Hedging Instruments:</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gains (losses) recorded in shareholders' equity (effective portion)</font></div></td><td style="vertical-align:middle;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Accumulated other comprehensive income (loss), net of tax</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">60</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">60</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gains (losses) reclassified from accumulated other comprehensive income (loss) into current operations (effective portion)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Revenue</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(46</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Research, development, and engineering expenses</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">3</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Selling, general, and administrative expenses</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">8</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Total gains (losses) reclassified from accumulated other comprehensive income (loss) into current operations</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(35</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gains (losses) recognized in current operations (ineffective portion and discontinued derivatives)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign currency gain (loss)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td colspan="11" style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-style:italic;">Derivatives Not Designated as Hedging Instruments:</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><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;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Gains (losses) recognized in current operations</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign currency gain (loss)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(354</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">177</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(665</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">96</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></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://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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/presentationRef<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=84234895&amp;loc=SL5624171-113959<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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=84234895&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_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://www.xbrl.org/2003/role/presentationRef<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=84234895&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>41
<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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6636114000">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation Expense (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 01, 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>
</tr>
<tr class="ro">
<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="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the Company&#8217;s stock option activity for the </font><font style="font-family:Arial;font-size:10pt;">six</font><font style="font-family:Arial;font-size:10pt;">-month period ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">:</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="13" rowspan="1"></td></tr><tr><td style="width:39%;" rowspan="1" colspan="1"></td><td style="width:14%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:11%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:15%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Shares</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(in&#160;thousands)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Weighted-</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Average</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Exercise</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Price</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Weighted-</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Average</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Remaining</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Contractual</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Term&#160;(in&#160;years)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Aggregate</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Intrinsic</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Value</font></div><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(in&#160;thousands)</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Outstanding as of December 31, 2017</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">12,726</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">25.24</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Granted</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,119</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">56.03</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Exercised</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(881</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">16.82</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;padding-left:28px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Forfeited or expired</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(373</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">32.68</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Outstanding as of July 1, 2018</font></div></td><td style="vertical-align:bottom;border-bottom:2px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">13,591</font></div></td><td style="vertical-align:bottom;border-bottom:2px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:2px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:2px solid #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">30.39</font></div></td><td style="vertical-align:bottom;border-bottom:2px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:2px solid #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">7.62</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:2px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:2px solid #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">223,515</font></div></td><td style="vertical-align:bottom;border-bottom:2px solid #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Exercisable as of July 1, 2018</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4,781</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">19.98</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">6.17</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">117,767</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Options vested or expected to vest as of July 1, 2018 (1)</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">12,177</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">29.20</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">7.49</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">210,965</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div><div style="line-height:120%;padding-top:8px;text-align:justify;padding-left:48px;font-size:10pt;"><font 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.</font></div></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="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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:</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="12" rowspan="1"></td></tr><tr><td style="width:40%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:14%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months&#160;Ended</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Six-months Ended</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">July 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">July 2, 2017</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">July 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">July 2, 2017</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Risk-free rate</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2.9</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2.4</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2.9</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2.4</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">%</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Expected dividend yield</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">0.32</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.39</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">0.32</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">0.39</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">%</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Expected volatility</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">39</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">41</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">39</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">41</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">%</font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Expected term (in years)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5.4</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5.2</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5.3</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5.3</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></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_NonvestedRestrictedStockSharesActivityTableTextBlock', window );">Nonvested Restricted Stock Shares Activity</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">The following table summarizes the Company's restricted stock activity for the six-month period ended </font><font style="font-family:Arial;font-size:10pt;">July&#160;1, 2018</font><font style="font-family:Arial;font-size:10pt;">: </font></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="11" rowspan="1"></td></tr><tr><td style="width:48%;" rowspan="1" colspan="1"></td><td style="width:15%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:14%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:16%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Shares                   (in thousands)</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Weighted-Average     Grant Fair Value</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Aggregate Intrinsic Value                  (in thousands)</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Nonvested as of December 31, 2017</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">20</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">17.03</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Granted</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Vested</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(20</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">17.03</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">993</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Forfeited or expired</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#8212;</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="3" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Nonvested as of July 1, 2018</font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#8212;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></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_ScheduleOfEmployeeServiceShareBasedCompensationAllocationOfRecognizedPeriodCostsTextBlock', window );">Schedule of Employee Service Share-based Compensation, Allocation of Recognized Period Costs</a></td>
<td class="text"><div style="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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):</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="16" rowspan="1"></td></tr><tr><td style="width:38%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:13%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:12%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months Ended</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="7" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Six-months Ended</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">July 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">July 2, 2017</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">July 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">July 2, 2017</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Cost of revenue</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">557</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">454</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1,354</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">884</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Research, development, and engineering</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">3,154</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">2,715</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">7,969</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,325</font></div></td><td style="vertical-align:bottom;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Selling, general, and administrative</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5,291</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">4,677</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">12,873</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="2" style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9,120</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">9,002</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">7,846</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">22,196</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">$</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">15,329</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></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_NonvestedRestrictedStockSharesActivityTableTextBlock">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 shares.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&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_NonvestedRestrictedStockSharesActivityTableTextBlock</td>
</tr>
<tr>
<td style="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_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://www.xbrl.org/2003/role/presentationRef<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=96867065&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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=96867065&amp;loc=d3e5047-113901<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<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=27013229&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_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_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://www.xbrl.org/2003/role/presentationRef<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=96867065&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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=96867065&amp;loc=d3e5070-113901<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<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=96867065&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://www.xbrl.org/2003/role/presentationRef<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=96867065&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>42
<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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6818091408">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Taxes (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 01, 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>
</tr>
<tr class="ro">
<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="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;text-align:justify;font-size:10pt;"><font 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:</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="12" rowspan="1"></td></tr><tr><td style="width:53%;" rowspan="1" colspan="1"></td><td style="width:10%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:10%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:10%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:10%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months&#160;Ended</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Six-months Ended</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">July 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">July 2, 2017</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">July 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">July 2, 2017</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Income tax provision at federal statutory corporate tax rate</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">21</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">35</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">21</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">35</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;%</font></div></td></tr><tr><td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">State income taxes, net of federal benefit</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;%</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Foreign tax rate differential</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(7</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(18</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(7</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(18</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)%</font></div></td></tr><tr><td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Tax credit</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)%</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Discrete tax benefit related to stock option exercises</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(1</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(9</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">(5</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">)%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(19</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)%</font></div></td></tr><tr><td style="vertical-align:top;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Other</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">2</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">1</font></div></td><td style="vertical-align:bottom;padding-right:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;%</font></div></td></tr><tr><td style="vertical-align:top;background-color:#cceeff;padding-left:20px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Income tax provision</font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">16</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;"><br clear="none"/></font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">9</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">&#160;%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">11</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">&#160;%</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">(1</font></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;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">)%</font></div></td></tr></table></div></div></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://www.xbrl.org/2003/role/presentationRef<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>43
<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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6634273856">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Weighted-Average Shares (Tables)<br></strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th"><div>Jul. 01, 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>
</tr>
<tr class="ro">
<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="font-family:Times New Roman;font-size:10pt;"><div style="line-height:120%;padding-top:8px;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Weighted-average shares were calculated as follows (in thousands):</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="12" rowspan="1"></td></tr><tr><td style="width:53%;" rowspan="1" colspan="1"></td><td style="width:10%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:10%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:10%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td><td style="width:10%;" rowspan="1" colspan="1"></td><td style="width:1%;" rowspan="1" colspan="1"></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></div></td><td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Three-months Ended</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td colspan="5" style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">Six-months Ended</font></div></td></tr><tr><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:8pt;"><font style="font-family:Arial;font-size:8pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">July 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">July 2, 2017</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">July 1, 2018</font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></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;" rowspan="1"><div style="text-align:center;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">July 2, 2017</font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Basic weighted-average common shares outstanding</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">172,370</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">173,278</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">172,825</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">172,960</font></div></td><td style="vertical-align:bottom;background-color:#cceeff;border-top:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:top;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Effect of dilutive stock options</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">4,779</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,950</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">5,593</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">5,944</font></div></td><td style="vertical-align:bottom;border-bottom:1px solid #000000;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr><tr><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">Weighted-average common and common-equivalent shares outstanding</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">177,149</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">179,228</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;font-weight:bold;">178,418</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td><td style="vertical-align:bottom;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;padding-right:2px;" rowspan="1" colspan="1"><div style="overflow:hidden;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;">&#160;</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;padding-left:2px;padding-top:2px;padding-bottom:2px;" rowspan="1" colspan="1"><div style="text-align:right;font-size:10pt;"><font style="font-family:Arial;font-size:10pt;">178,904</font></div></td><td style="vertical-align:bottom;border-bottom:3px double #000000;background-color:#cceeff;" rowspan="1" colspan="1"><div style="text-align:left;font-size:10pt;"><font style="font-family:inherit;font-size:10pt;"><br clear="none"/></font></div></td></tr></table></div></div></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://www.xbrl.org/2003/role/presentationRef<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>44
<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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6828645872">
<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>Jul. 01, 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_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">$ 5,055<span></span>
</td>
<td class="nump">$ 8,631<span></span>
</td>
</tr>
<tr class="re">
<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">625,681<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_MajorTypesOfDebtAndEquitySecuritiesAxis=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">324,801<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_MajorTypesOfDebtAndEquitySecuritiesAxis=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">136,377<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_MajorTypesOfDebtAndEquitySecuritiesAxis=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">102,980<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_MajorTypesOfDebtAndEquitySecuritiesAxis=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">16,346<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_MajorTypesOfDebtAndEquitySecuritiesAxis=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">35,181<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_MajorTypesOfDebtAndEquitySecuritiesAxis=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">9,996<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">5,055<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">0<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_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="num">(86)<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">324,801<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">136,377<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">102,980<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">16,346<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">35,181<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">9,996<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">$ 2,303<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 debt 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>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 25<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=75030427&amp;loc=d3e22054-111558<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=82896770&amp;loc=d3e26610-111562<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<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><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 320<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)-(g)<br> -URI http://asc.fasb.org/extlink&amp;oid=75019621&amp;loc=d3e62557-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_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/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 805<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=35744584&amp;loc=d3e6927-128479<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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>45
<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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6828708192">
<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">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jul. 01, 2018</div></th>
<th class="th"><div>Jul. 02, 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_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="num">$ (1,000)<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_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">3,557<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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">2,303<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_ManateeWorksInc.Member', window );">Manatee | 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,350)<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="re">
<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">988<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_Paymentofcontingentconsideration', window );">Payment of contingent consideration</a></td>
<td class="num">(1,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_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">$ 108<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://www.xbrl.org/2003/role/presentationRef<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=66048111&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_ManateeWorksInc.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_ManateeWorksInc.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_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>XML
<SEQUENCE>46
<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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6817996576">
<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">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jul. 01, 2018</div></th>
<th class="th"><div>Jul. 02, 2017</div></th>
<th class="th"><div>Jul. 01, 2018</div></th>
<th class="th"><div>Jul. 02, 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_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">$ 308,000<span></span>
</td>
<td class="nump">$ 55,000<span></span>
</td>
<td class="nump">$ 363,000<span></span>
</td>
<td class="nump">$ 143,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">$ 61,000<span></span>
</td>
<td class="nump">$ 13,000<span></span>
</td>
<td class="nump">$ 94,000<span></span>
</td>
<td class="nump">$ 36,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>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=82897076&amp;loc=d3e27357-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=82897076&amp;loc=d3e27357-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>47
<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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6828308608">
<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>Jul. 01, 2018</div></th>
<th class="th"><div>Dec. 31, 2017</div></th>
<th class="th"><div>Jul. 02, 2017</div></th>
<th class="th"><div>Dec. 31, 2016</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>Schedule of Available-for-sale Securities [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">$ 124,147<span></span>
</td>
<td class="nump">$ 97,951<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">5,055<span></span>
</td>
<td class="nump">8,631<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">129,202<span></span>
</td>
<td class="nump">106,582<span></span>
</td>
<td class="nump">$ 68,266<span></span>
</td>
<td class="nump">$ 79,641<span></span>
</td>
</tr>
<tr class="re">
<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 );">Short-term investments</a></td>
<td class="nump">353,740<span></span>
</td>
<td class="nump">297,961<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 );">Long-term investments</a></td>
<td class="nump">271,941<span></span>
</td>
<td class="nump">423,441<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">754,883<span></span>
</td>
<td class="nump">827,984<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_MajorTypesOfDebtAndEquitySecuritiesAxis=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>Schedule of Available-for-sale Securities [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 );">Short-term investments</a></td>
<td class="nump">136,377<span></span>
</td>
<td class="nump">150,371<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">0<span></span>
</td>
<td class="nump">23,459<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_MajorTypesOfDebtAndEquitySecuritiesAxis=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>Schedule of Available-for-sale Securities [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 );">Short-term investments</a></td>
<td class="nump">116,347<span></span>
</td>
<td class="nump">47,395<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">208,454<span></span>
</td>
<td class="nump">296,014<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_MajorTypesOfDebtAndEquitySecuritiesAxis=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>Schedule of Available-for-sale Securities [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 );">Short-term investments</a></td>
<td class="nump">55,240<span></span>
</td>
<td class="nump">59,203<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">47,740<span></span>
</td>
<td class="nump">71,727<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_MajorTypesOfDebtAndEquitySecuritiesAxis=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="re">
<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>Schedule of Available-for-sale Securities [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 );">Short-term investments</a></td>
<td class="nump">7,375<span></span>
</td>
<td class="nump">21,579<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">8,971<span></span>
</td>
<td class="nump">13,147<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_MajorTypesOfDebtAndEquitySecuritiesAxis=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>Schedule of Available-for-sale Securities [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 );">Short-term investments</a></td>
<td class="nump">29,247<span></span>
</td>
<td class="nump">10,608<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">5,934<span></span>
</td>
<td class="nump">14,890<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_MajorTypesOfDebtAndEquitySecuritiesAxis=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="re">
<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>Schedule of Available-for-sale Securities [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 );">Short-term investments</a></td>
<td class="nump">9,154<span></span>
</td>
<td class="nump">8,805<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">$ 842<span></span>
</td>
<td class="nump">$ 4,204<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 investments in debt securities classified as available-for-sale, expected to be converted to cash, sold or exchanged within one year or the normal operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 25<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=75030427&amp;loc=d3e22054-111558<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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=82896770&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>Total of debt securities categorized neither as held-to-maturity nor trading which are intended be sold or mature more than one year from the balance sheet date or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 25<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=75030427&amp;loc=d3e22054-111558<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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=82896770&amp;loc=d3e26626-111562<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AvailableForSaleSecuritiesDebtSecuritiesNoncurrent</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_Cash">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of currency on hand as well as demand deposits with banks or financial institutions. Includes other kinds of accounts that have the general characteristics of demand deposits. Excludes cash and cash equivalents within disposal group and discontinued operation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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 2: http://www.xbrl.org/2003/role/presentationRef<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=98514028&amp;loc=d3e3044-108585<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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>48
<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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6829251184">
<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>Jul. 01, 2018 </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>Schedule of Available-for-sale Securities [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">$ 626,814<span></span>
</td>
</tr>
<tr class="re">
<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">750<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross unrealized losses</a></td>
<td class="num">(1,883)<span></span>
</td>
</tr>
<tr class="re">
<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">625,681<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_MajorTypesOfDebtAndEquitySecuritiesAxis=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>Schedule of Available-for-sale Securities [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">(332)<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_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_USTreasurySecuritiesMember', window );">Treasury Bills | Short-Term Investments</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [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">136,706<span></span>
</td>
</tr>
<tr class="ro">
<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">3<span></span>
</td>
</tr>
<tr class="re">
<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">(332)<span></span>
</td>
</tr>
<tr class="ro">
<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">136,377<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_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_CorporateBondSecuritiesMember', window );">Corporate 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>Schedule of Available-for-sale Securities [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">(935)<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_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_CorporateBondSecuritiesMember', window );">Corporate 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>Schedule of Available-for-sale Securities [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">116,659<span></span>
</td>
</tr>
<tr class="re">
<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">59<span></span>
</td>
</tr>
<tr class="ro">
<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">(371)<span></span>
</td>
</tr>
<tr class="re">
<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">116,347<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_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_CorporateBondSecuritiesMember', window );">Corporate 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>Schedule of Available-for-sale Securities [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">208,382<span></span>
</td>
</tr>
<tr class="re">
<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">636<span></span>
</td>
</tr>
<tr class="ro">
<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">(564)<span></span>
</td>
</tr>
<tr class="re">
<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">208,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_MajorTypesOfDebtAndEquitySecuritiesAxis=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>Schedule of Available-for-sale Securities [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">(524)<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_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_AssetBackedSecuritiesMember', window );">Asset-Backed Securities | 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>Schedule of Available-for-sale Securities [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">55,459<span></span>
</td>
</tr>
<tr class="ro">
<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">(219)<span></span>
</td>
</tr>
<tr class="ro">
<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">55,240<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_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_AssetBackedSecuritiesMember', window );">Asset-Backed Securities | 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>Schedule of Available-for-sale Securities [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">48,033<span></span>
</td>
</tr>
<tr class="ro">
<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">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_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross unrealized losses</a></td>
<td class="num">(305)<span></span>
</td>
</tr>
<tr class="ro">
<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">47,740<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_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_SovereignDebtSecuritiesMember', window );">Sovereign 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>Schedule of Available-for-sale Securities [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">(67)<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_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_SovereignDebtSecuritiesMember', window );">Sovereign 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>Schedule of Available-for-sale Securities [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">7,400<span></span>
</td>
</tr>
<tr class="re">
<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<span></span>
</td>
</tr>
<tr class="ro">
<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">(26)<span></span>
</td>
</tr>
<tr class="re">
<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">7,375<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_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_SovereignDebtSecuritiesMember', window );">Sovereign 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>Schedule of Available-for-sale Securities [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">8,977<span></span>
</td>
</tr>
<tr class="re">
<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">35<span></span>
</td>
</tr>
<tr class="ro">
<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">(41)<span></span>
</td>
</tr>
<tr class="re">
<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">8,971<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_MajorTypesOfDebtAndEquitySecuritiesAxis=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>Schedule of Available-for-sale Securities [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">(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_MajorTypesOfDebtAndEquitySecuritiesAxis=cgnx_AgencyBondsMember', window );">Agency 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>Schedule of Available-for-sale Securities [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">29,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_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross unrealized gains</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross unrealized losses</a></td>
<td class="num">(1)<span></span>
</td>
</tr>
<tr class="ro">
<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">29,247<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_MajorTypesOfDebtAndEquitySecuritiesAxis=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>Schedule of Available-for-sale Securities [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">4<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_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">5,934<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_MajorTypesOfDebtAndEquitySecuritiesAxis=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>Schedule of Available-for-sale Securities [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_MajorTypesOfDebtAndEquitySecuritiesAxis=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>Schedule of Available-for-sale Securities [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">9,165<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedGainBeforeTax', window );">Gross unrealized gains</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleDebtSecuritiesAccumulatedGrossUnrealizedLossBeforeTax', window );">Gross unrealized losses</a></td>
<td class="num">(11)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecurities', window );">Fair value</a></td>
<td class="nump">9,154<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_MajorTypesOfDebtAndEquitySecuritiesAxis=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>Schedule of Available-for-sale Securities [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">855<span></span>
</td>
</tr>
<tr class="re">
<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">(13)<span></span>
</td>
</tr>
<tr class="re">
<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">$ 842<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 investments in debt securities classified as 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/presentationRef<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 investments in debt securities classified as 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/presentationRef<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>This item represents the cost of debt securities, which are categorized neither as held-to-maturity nor trading, net of adjustments including accretion, amortization, collection of cash, previous other-than-temporary impairments recognized in earnings (less any cumulative-effect adjustments recognized, as defined), and fair value hedge accounting adjustments, if any.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<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><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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.2)<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_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>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 25<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=75030427&amp;loc=d3e22054-111558<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 5<br> -Subparagraph (aa)<br> -URI http://asc.fasb.org/extlink&amp;oid=82897076&amp;loc=d3e27232-111563<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=82896770&amp;loc=d3e26610-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_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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_CorporateBondSecuritiesMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InvestmentTypeAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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>49
<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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6827717840">
<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>Jul. 01, 2018 </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>Schedule of Available-for-sale Securities [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">$ 350,445<span></span>
</td>
</tr>
<tr class="re">
<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">(1,392)<span></span>
</td>
</tr>
<tr class="ro">
<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">80,415<span></span>
</td>
</tr>
<tr class="re">
<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">(491)<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">430,860<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">(1,883)<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_MajorTypesOfDebtAndEquitySecuritiesAxis=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>Schedule of Available-for-sale Securities [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">84,309<span></span>
</td>
</tr>
<tr class="re">
<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">(149)<span></span>
</td>
</tr>
<tr class="ro">
<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">48,464<span></span>
</td>
</tr>
<tr class="re">
<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">(183)<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">132,773<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">(332)<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_MajorTypesOfDebtAndEquitySecuritiesAxis=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>Schedule of Available-for-sale Securities [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">90,411<span></span>
</td>
</tr>
<tr class="re">
<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">(496)<span></span>
</td>
</tr>
<tr class="ro">
<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">4,462<span></span>
</td>
</tr>
<tr class="re">
<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">(28)<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">94,873<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">(524)<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_MajorTypesOfDebtAndEquitySecuritiesAxis=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>Schedule of Available-for-sale Securities [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">3,562<span></span>
</td>
</tr>
<tr class="re">
<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">(9)<span></span>
</td>
</tr>
<tr class="ro">
<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">4,581<span></span>
</td>
</tr>
<tr class="re">
<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">(58)<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">8,143<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">(67)<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_MajorTypesOfDebtAndEquitySecuritiesAxis=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>Schedule of Available-for-sale Securities [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">3,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_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss', window );">Unrealized losses, less than 12 months</a></td>
<td class="num">(24)<span></span>
</td>
</tr>
<tr class="ro">
<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">3,692<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_MajorTypesOfDebtAndEquitySecuritiesAxis=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>Schedule of Available-for-sale Securities [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">29,246<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_AvailableForSaleSecuritiesContinuousUnrealizedLossPositionLessThan12MonthsAccumulatedLoss', window );">Unrealized losses, less than 12 months</a></td>
<td class="num">(1)<span></span>
</td>
</tr>
<tr class="ro">
<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">29,246<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">(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_MajorTypesOfDebtAndEquitySecuritiesAxis=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>Schedule of Available-for-sale Securities [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">139,225<span></span>
</td>
</tr>
<tr class="re">
<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">(713)<span></span>
</td>
</tr>
<tr class="ro">
<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">22,908<span></span>
</td>
</tr>
<tr class="re">
<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">(222)<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">162,133<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">$ (935)<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 investments in debt securities classified as 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/presentationRef<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>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=82897076&amp;loc=d3e27290-111563<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=82897076&amp;loc=d3e27337-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(1)<br> -URI 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_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>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=82897076&amp;loc=d3e27290-111563<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=82897076&amp;loc=d3e27337-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=82897076&amp;loc=d3e27337-111563<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(1)<br> -URI 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_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>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 6<br> -Subparagraph (a)(1)<br> -URI http://asc.fasb.org/extlink&amp;oid=82897076&amp;loc=d3e27290-111563<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 50<br> -Paragraph 7<br> -URI http://asc.fasb.org/extlink&amp;oid=82897076&amp;loc=d3e27337-111563<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>50
<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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6827184448">
<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>Jul. 01, 2018 </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>Schedule of Available-for-sale Securities [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">$ 353,740<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">132,990<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">77,918<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">33,811<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">19,447<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_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue', window );">5-7 years</a></td>
<td class="nump">7,775<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_AvailableForSaleSecuritiesDebtSecurities', window );">Fair value</a></td>
<td class="nump">625,681<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_MajorTypesOfDebtAndEquitySecuritiesAxis=us-gaap_CorporateBondSecuritiesMember', window );">Corporate 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>Schedule of Available-for-sale Securities [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_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue', window );">1 year or less</a></td>
<td class="nump">116,347<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_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue', window );">1-2 years</a></td>
<td class="nump">96,004<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_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue', window );">2-3 years</a></td>
<td class="nump">71,890<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_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue', window );">3-4 years</a></td>
<td class="nump">29,491<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_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue', window );">4-5 years</a></td>
<td class="nump">7,704<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_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue', window );">5-7 years</a></td>
<td class="nump">3,365<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">324,801<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_MajorTypesOfDebtAndEquitySecuritiesAxis=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>Schedule of Available-for-sale Securities [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">136,377<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue', window );">1-2 years</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue', window );">2-3 years</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue', window );">3-4 years</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue', window );">4-5 years</a></td>
<td class="nump">0<span></span>
</td>
</tr>
<tr class="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_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue', window );">5-7 years</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_AvailableForSaleSecuritiesDebtSecurities', window );">Fair value</a></td>
<td class="nump">136,377<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_MajorTypesOfDebtAndEquitySecuritiesAxis=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>Schedule of Available-for-sale Securities [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_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue', window );">1 year or less</a></td>
<td class="nump">55,240<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_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue', window );">1-2 years</a></td>
<td class="nump">31,023<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_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue', window );">2-3 years</a></td>
<td class="nump">2,178<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_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue', window );">3-4 years</a></td>
<td class="nump">4,320<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_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue', window );">4-5 years</a></td>
<td class="nump">5,809<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_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue', window );">5-7 years</a></td>
<td class="nump">4,410<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">102,980<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_MajorTypesOfDebtAndEquitySecuritiesAxis=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>Schedule of Available-for-sale Securities [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">7,375<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">5,963<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">3,008<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="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_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue', window );">5-7 years</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_AvailableForSaleSecuritiesDebtSecurities', window );">Fair value</a></td>
<td class="nump">16,346<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_MajorTypesOfDebtAndEquitySecuritiesAxis=cgnx_AgencyBondsMember', window );">Agency Bonds</a></td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ScheduleOfAvailableForSaleSecuritiesLineItems', window );"><strong>Schedule of Available-for-sale Securities [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_AvailableForSaleSecuritiesDebtMaturitiesWithinOneYearFairValue', window );">1 year or less</a></td>
<td class="nump">29,247<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_AvailableForSaleSecuritiesDebtMaturitiesAfterOneYearBeforeTwoYearsFairValue', window );">1-2 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_AvailableForSaleSecuritiesDebtMaturitiesAfterTwoYearsBeforeThreeYearsFairValue', window );">2-3 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_AvailableForSaleSecuritiesDebtMaturitiesAfterThreeYearsBeforeFourYearsFairValue', window );">3-4 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_AvailableForSaleSecuritiesDebtMaturitiesAfterFourYearsBeforeFiveYearsFairValue', window );">4-5 years</a></td>
<td class="nump">5,934<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_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue', window );">5-7 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">35,181<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_MajorTypesOfDebtAndEquitySecuritiesAxis=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>Schedule of Available-for-sale Securities [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">9,154<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">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">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="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_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue', window );">5-7 years</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_AvailableForSaleSecuritiesDebtSecurities', window );">Fair value</a></td>
<td class="nump">$ 9,996<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 Five Years Before Seven Years 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_AvailableForSaleSecuritiesDebtMaturitiesAfterFiveYearsBeforeSevenYearsFairValue</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_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 available-for-sale debt securities maturing in 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://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<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></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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 debt 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>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 25<br> -Paragraph 1<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=75030427&amp;loc=d3e22054-111558<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 320<br> -SubTopic 10<br> -Section 45<br> -Paragraph 1<br> -URI http://asc.fasb.org/extlink&amp;oid=82896770&amp;loc=d3e26610-111562<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<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><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 942<br> -SubTopic 320<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (b)-(g)<br> -URI http://asc.fasb.org/extlink&amp;oid=75019621&amp;loc=d3e62557-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_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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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_MajorTypesOfDebtAndEquitySecuritiesAxis=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>51
<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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6820014832">
<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>Jul. 01, 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_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">$ 46,020<span></span>
</td>
<td class="nump">$ 33,927<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_InventoryWorkInProcessNetOfReserves', window );">Work-in-process</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">2,114<span></span>
</td>
</tr>
<tr class="ro">
<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">43,536<span></span>
</td>
<td class="nump">31,882<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">$ 89,556<span></span>
</td>
<td class="nump">$ 67,923<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://www.xbrl.org/2003/role/presentationRef<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><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_InventoryFinishedGoodsNetOfReserves</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_InventoryNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount after valuation and LIFO reserves of inventory expected to be sold, or consumed within one year or operating cycle, if longer.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<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 2: http://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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://www.xbrl.org/2003/role/presentationRef<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><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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://www.xbrl.org/2003/role/presentationRef<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><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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>52
<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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6827722576">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Intangible Assets (Details) - USD ($)<br> $ in Thousands</strong></div></th>
<th class="th"><div>Jul. 01, 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_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">49,073<span></span>
</td>
<td class="nump">47,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_FiniteLivedIntangibleAssetsNet', window );">Net Carrying Value</a></td>
<td class="nump">11,651<span></span>
</td>
<td class="nump">13,189<span></span>
</td>
</tr>
<tr class="re">
<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 2018</a></td>
<td class="nump">1,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_FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths', window );">2019</a></td>
<td class="nump">2,701<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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,185<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">2,017<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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">1,691<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">989<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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">530<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">11,651<span></span>
</td>
<td class="nump">13,189<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">5,400<span></span>
</td>
<td class="nump">4,181<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">8,287<span></span>
</td>
<td class="nump">9,506<span></span>
</td>
</tr>
<tr class="ro">
<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">8,287<span></span>
</td>
<td class="nump">9,506<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_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">5,459<span></span>
</td>
<td class="nump">5,202<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">3,148<span></span>
</td>
<td class="nump">3,405<span></span>
</td>
</tr>
<tr class="re">
<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">3,148<span></span>
</td>
<td class="nump">3,405<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">154<span></span>
</td>
<td class="nump">92<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">216<span></span>
</td>
<td class="nump">278<span></span>
</td>
</tr>
<tr class="ro">
<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">$ 216<span></span>
</td>
<td class="nump">$ 278<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_FiniteLivedIntangibleAssetsAccumulatedAmortization">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Accumulated amount of amortization of assets, excluding financial assets and goodwill, lacking physical substance with a finite life.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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>53
<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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6643003872">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Warranty Obligations - Changes in Warranty Obligations (Detail)<br> $ in Thousands</strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th">
<div>Jul. 01, 2018 </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,701<span></span>
</td>
</tr>
<tr class="re">
<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">2,222<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ProductWarrantyAccrualPayments', window );">Fulfillment of warranty obligations</a></td>
<td class="num">(1,559)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss', window );">Foreign exchange rate changes</a></td>
<td class="num">(117)<span></span>
</td>
</tr>
<tr class="ro">
<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,247<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://www.xbrl.org/2003/role/presentationRef<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 2: http://www.xbrl.org/2003/role/presentationRef<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><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<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></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of foreign currency translation gain (loss) which decreases (increases) the standard and extended product warranty accrual.</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 FASB<br> -Name Accounting Standards Codification<br> -Topic 460<br> -SubTopic 10<br> -Section 50<br> -Paragraph 8<br> -Subparagraph (c)<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_StandardAndExtendedProductWarrantyAccrualForeignCurrencyTranslationGainLoss</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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>54
<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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6809172528">
<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">6 Months Ended</th>
</tr>
<tr><th class="th">
<div>Jul. 01, 2018 </div>
<div>Category</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_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems', window );"><strong>Derivative Instruments and Hedging Activities Disclosures [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_DerivativeNumberOfInstrumentsHeld', window );">Derivative, Number of Instruments Held</a></td>
<td class="nump">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_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember', window );">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_MaximumLengthOfTimeHedgedInCashFlowHedge1', window );">Maximum length of time hedged in cash flow hedge</a></td>
<td class="text">18 months<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</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_DerivativeInstrumentsAndHedgingActivitiesDisclosuresLineItems', window );"><strong>Derivative Instruments and Hedging Activities Disclosures [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_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_DerivativeNumberOfInstrumentsHeld">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 derivative instruments of a particular group held by the 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/presentationRef<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=84234895&amp;loc=SL5580258-113959<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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=84234895&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_DerivativeNumberOfInstrumentsHeld</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</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_us-gaap_MaximumLengthOfTimeHedgedInCashFlowHedge1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 length of time over which the entity is hedging its exposure to the variability in future cash flows for forecasted transactions, excluding those forecasted transactions related to the payment of variable interest on existing financial instruments, 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://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 30<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=35736893&amp;loc=d3e80748-113994<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_MaximumLengthOfTimeHedgedInCashFlowHedge1</td>
</tr>
<tr>
<td style="padding-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_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_DesignatedAsHedgingInstrumentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_DesignatedAsHedgingInstrumentMember</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_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>55
<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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6830141696">
<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, &#163; in Thousands, SFr in Thousands, Ft in Thousands, $ in Thousands, $ in Thousands, $ in Thousands, $ in Thousands</strong></div></th>
<th class="th">
<div>Jul. 01, 2018 </div>
<div>HUF (Ft)</div>
</th>
<th class="th">
<div>Jul. 01, 2018 </div>
<div>GBP (&#163;)</div>
</th>
<th class="th">
<div>Jul. 01, 2018 </div>
<div>CHF (SFr)</div>
</th>
<th class="th">
<div>Jul. 01, 2018 </div>
<div>CAD ($)</div>
</th>
<th class="th">
<div>Jul. 01, 2018 </div>
<div>SGD ($)</div>
</th>
<th class="th">
<div>Jul. 01, 2018 </div>
<div>JPY (&#165;)</div>
</th>
<th class="th">
<div>Jul. 01, 2018 </div>
<div>KRW (&#8361;)</div>
</th>
<th class="th">
<div>Jul. 01, 2018 </div>
<div>TWD ($)</div>
</th>
<th class="th">
<div>Jul. 01, 2018 </div>
<div>EUR (&#8364;)</div>
</th>
<th class="th">
<div>Jul. 01, 2018 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2017 </div>
<div>HUF (Ft)</div>
</th>
<th class="th">
<div>Dec. 31, 2017 </div>
<div>GBP (&#163;)</div>
</th>
<th class="th">
<div>Dec. 31, 2017 </div>
<div>CHF (SFr)</div>
</th>
<th class="th">
<div>Dec. 31, 2017 </div>
<div>CAD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2017 </div>
<div>SGD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2017 </div>
<div>JPY (&#165;)</div>
</th>
<th class="th">
<div>Dec. 31, 2017 </div>
<div>KRW (&#8361;)</div>
</th>
<th class="th">
<div>Dec. 31, 2017 </div>
<div>TWD ($)</div>
</th>
<th class="th">
<div>Dec. 31, 2017 </div>
<div>EUR (&#8364;)</div>
</th>
<th class="th">
<div>Dec. 31, 2017 </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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLineItems', window );"><strong>Derivative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#8364; 17,000<span></span>
</td>
<td class="nump">$ 19,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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#8364; 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_HedgingDesignationAxis=us-gaap_NondesignatedMember', window );">Japanese Yen</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLineItems', window );"><strong>Derivative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="text">&#160;<span></span>
</td>
<td class="nump">&#165; 790,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">8,423<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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; 455,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">4,049<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 );">Switzerland, Francs</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLineItems', window );"><strong>Derivative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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">SFr 2,425<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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,879<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">SFr 1,365<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,401<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 );">Hungarian Forint</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLineItems', window );"><strong>Derivative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="nump">Ft 655,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,756<span></span>
</td>
<td class="nump">Ft 545,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">2,110<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 );">British Pound</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLineItems', window );"><strong>Derivative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeAssetNotionalAmount', window );">Outstanding forward contracts</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#163; 2,430<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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,142<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#163; 1,650<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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,232<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember', window );">Korean Won</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLineItems', window );"><strong>Derivative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">&#8361; 1,875,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,968<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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; 1,825,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,708<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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLineItems', window );"><strong>Derivative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 47,600<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,837<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">$ 37,725<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">1,278<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_HedgingDesignationAxis=us-gaap_NondesignatedMember', window );">Canada, Dollars</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLineItems', window );"><strong>Derivative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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">$ 855<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</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">753<span></span>
</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="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>
</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 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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeLineItems', window );"><strong>Derivative [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<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="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="text">&#160;<span></span>
</td>
<td class="nump">$ 602<span></span>
</td>
<td class="text">&#160;<span></span>
</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="text">&#160;<span></span>
</td>
<td class="text">&#160;<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_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/2003/role/presentationRef<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=84234895&amp;loc=SL5579245-113959<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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=84234895&amp;loc=SL5580258-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_us-gaap_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;">us-gaap_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_us-gaap_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;">us-gaap_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_us-gaap_CurrencyAxis=currency_CHF">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_CurrencyAxis=currency_CHF</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_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;">us-gaap_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_us-gaap_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;">us-gaap_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_us-gaap_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;">us-gaap_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_us-gaap_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;">us-gaap_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_us-gaap_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;">us-gaap_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_us-gaap_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;">us-gaap_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>56
<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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6816710448">
<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>Jul. 01, 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_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">$ 88<span></span>
</td>
<td class="nump">$ 16<span></span>
</td>
</tr>
<tr class="re">
<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">86<span></span>
</td>
<td class="nump">13<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">88<span></span>
</td>
<td class="nump">16<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">$ 86<span></span>
</td>
<td class="nump">$ 13<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value, after the effects of master netting arrangements, of a financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes assets not subject to a master netting arrangement and not elected to be offset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<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/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=6945355&amp;loc=d3e41271-113958<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=77997519&amp;loc=d3e13433-108611<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<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 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=77997519&amp;loc=d3e13495-108611<br><br>Reference 6: http://www.xbrl.org/2003/role/presentationRef<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=82849420&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_DerivativeAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeLiabilities">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value, after the effects of master netting arrangements, of a financial liability or contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes liabilities not subject to a master netting arrangement and not elected to be offset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<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=82849420&amp;loc=SL20226008-175313<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=77997519&amp;loc=d3e13495-108611<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<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 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=77997519&amp;loc=d3e13433-108611<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=6945355&amp;loc=d3e41271-113958<br><br>Reference 6: http://www.xbrl.org/2003/role/presentationRef<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_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>57
<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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6818036720">
<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>Jul. 01, 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_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">$ 88<span></span>
</td>
<td class="nump">$ 16<span></span>
</td>
</tr>
<tr class="re">
<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">88<span></span>
</td>
<td class="nump">16<span></span>
</td>
</tr>
<tr class="re">
<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">86<span></span>
</td>
<td class="nump">13<span></span>
</td>
</tr>
<tr class="ro">
<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">$ 86<span></span>
</td>
<td class="nump">$ 13<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://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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_DerivativeAssetCollateralObligationToReturnCashOffset</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>credit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeAssets">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value, after the effects of master netting arrangements, of a financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes assets not subject to a master netting arrangement and not elected to be offset.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<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/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=6945355&amp;loc=d3e41271-113958<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=77997519&amp;loc=d3e13433-108611<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<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 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=77997519&amp;loc=d3e13495-108611<br><br>Reference 6: http://www.xbrl.org/2003/role/presentationRef<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=82849420&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_DerivativeAssets</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_DerivativeFairValueOfDerivativeAsset">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Fair value, before effects of master netting arrangements, of a financial asset or other contract with one or more underlyings, notional amount or payment provision or both, and the contract can be net settled by means outside the contract or delivery of an asset. Includes assets elected not to be offset. Excludes assets not subject to a master netting arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<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 2: http://www.xbrl.org/2003/role/presentationRef<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=84234895&amp;loc=SL5624163-113959<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<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=82849420&amp;loc=SL20226000-175313<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<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=82924980&amp;loc=SL51823488-111719<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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://www.xbrl.org/2003/role/presentationRef<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=82924980&amp;loc=SL51823488-111719<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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 3: http://www.xbrl.org/2003/role/presentationRef<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=84234895&amp;loc=SL5624163-113959<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<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=82849420&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://www.xbrl.org/2003/role/presentationRef<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=82849420&amp;loc=SL20226008-175313<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 15<br> -URI http://asc.fasb.org/extlink&amp;oid=77997519&amp;loc=d3e13495-108611<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<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 4: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 825<br> -SubTopic 10<br> -Section 50<br> -Paragraph 10<br> -Subparagraph (a)<br> -URI http://asc.fasb.org/extlink&amp;oid=77997519&amp;loc=d3e13433-108611<br><br>Reference 5: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 45<br> -Paragraph 6<br> -URI http://asc.fasb.org/extlink&amp;oid=6945355&amp;loc=d3e41271-113958<br><br>Reference 6: http://www.xbrl.org/2003/role/presentationRef<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_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://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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_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>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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6828762080">
<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">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jul. 01, 2018</div></th>
<th class="th"><div>Jul. 02, 2017</div></th>
<th class="th"><div>Jul. 01, 2018</div></th>
<th class="th"><div>Jul. 02, 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_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="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax', window );">Total gains (losses) reclassified from accumulated other comprehensive income (loss) into current operations</a></td>
<td class="nump">$ 0<span></span>
</td>
<td class="nump">$ 9<span></span>
</td>
<td class="nump">$ 0<span></span>
</td>
<td class="num">$ (35)<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_DesignatedAsHedgingInstrumentMember', window );">Designated as Hedging Instrument | Accumulated Other Comprehensive Income (Loss), Net of Tax</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_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet', window );">Gains (losses) recorded in shareholders' equity (effective portion)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">60<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="nump">60<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_DesignatedAsHedgingInstrumentMember', window );">Designated as Hedging Instrument | Product 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="re">
<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="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet', window );">Gains (losses) reclassified from accumulated other comprehensive income (loss) into current operations (effective portion)</a></td>
<td class="nump">0<span></span>
</td>
<td class="nump">9<span></span>
</td>
<td class="nump">0<span></span>
</td>
<td class="num">(46)<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_DesignatedAsHedgingInstrumentMember', window );">Designated as Hedging Instrument | 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="ro">
<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_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet', window );">Gains (losses) reclassified from accumulated other comprehensive income (loss) into current operations (effective portion)</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">3<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_DesignatedAsHedgingInstrumentMember', window );">Designated as Hedging Instrument | Selling, General, and Administrative 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_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="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet', window );">Gains (losses) reclassified from accumulated other comprehensive income (loss) into current operations (effective portion)</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">8<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_DesignatedAsHedgingInstrumentMember', window );">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_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet', window );">Derivative Instruments, Gain (Loss) Recognized in Income, Ineffective Portion and Amount Excluded from Effectiveness Testing, Net</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="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="re">
<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="ro">
<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="num">$ (354)<span></span>
</td>
<td class="nump">$ 177<span></span>
</td>
<td class="num">$ (665)<span></span>
</td>
<td class="nump">$ 96<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/2003/role/presentationRef<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=84234895&amp;loc=SL5618551-113959<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4C<br> -Subparagraph (a),(c),(d),(e)<br> -URI http://asc.fasb.org/extlink&amp;oid=84234895&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_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_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 effective portion of net gain (loss) reclassified from accumulated other comprehensive income into income on derivative instruments designated and qualifying 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/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4C<br> -Subparagraph (c)<br> -URI http://asc.fasb.org/extlink&amp;oid=84234895&amp;loc=SL5624171-113959<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4D<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=84234895&amp;loc=SL5624177-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_DerivativeInstrumentsGainLossReclassifiedFromAccumulatedOCIIntoIncomeEffectivePortionNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 gains and losses (net) on derivative instruments designated and qualifying as hedging instruments representing (a) the amount of the hedge ineffectiveness and (b) the amount, if any, excluded from the assessment of hedge effectiveness.</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 FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4C<br> -Subparagraph (d)<br> -URI http://asc.fasb.org/extlink&amp;oid=84234895&amp;loc=SL5624171-113959<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 25<br> -Section 50<br> -Paragraph 1<br> -Subparagraph (a)(1),(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=6886632&amp;loc=d3e76258-113986<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_DerivativeInstrumentsGainLossRecognizedInIncomeIneffectivePortionAndAmountExcludedFromEffectivenessTestingNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 effective portion of gains and losses (net) on derivative instruments designated and qualifying as hedging instruments that was recognized in other comprehensive income during the current period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4C<br> -Subparagraph (b)<br> -URI http://asc.fasb.org/extlink&amp;oid=84234895&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_DerivativeInstrumentsGainLossRecognizedInOtherComprehensiveIncomeEffectivePortionNet</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></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 of accumulated gain (loss) realized from derivative instruments designated and qualifying as the effective portion of cash flow hedges and an entity's share of an equity investee's 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://www.xbrl.org/2003/role/presentationRef<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=84228862&amp;loc=d3e689-108580<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 815<br> -SubTopic 10<br> -Section 50<br> -Paragraph 4<br> -Subparagraph c<br> -URI http://asc.fasb.org/extlink&amp;oid=84234895&amp;loc=d3e41638-113959<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<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=84228862&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_OtherComprehensiveIncomeLossReclassificationAdjustmentFromAOCIOnDerivativesNetOfTax</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_HedgingDesignationAxis=us-gaap_DesignatedAsHedgingInstrumentMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_DesignatedAsHedgingInstrumentMember</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_CashFlowHedgingMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_CashFlowHedgingMember</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_SalesRevenueGoodsNetMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_SalesRevenueGoodsNetMember</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=us-gaap_GeneralAndAdministrativeExpenseMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_GeneralAndAdministrativeExpenseMember</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>
<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>59
<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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6815871120">
<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">6 Months Ended</th>
</tr>
<tr>
<th class="th">
<div>Jul. 01, 2018 </div>
<div>USD ($) </div>
<div>group </div>
<div>$ / shares </div>
<div>shares</div>
</th>
<th class="th">
<div>Apr. 01, 2018 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jul. 02, 2017 </div>
<div>USD ($) </div>
<div>$ / shares</div>
</th>
<th class="th">
<div>Apr. 02, 2017 </div>
<div>USD ($)</div>
</th>
<th class="th">
<div>Jul. 01, 2018 </div>
<div>USD ($) </div>
<div>group </div>
<div>$ / shares </div>
<div>shares</div>
</th>
<th class="th">
<div>Jul. 02, 2017 </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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate', window );">Expected dividend yield</a></td>
<td class="nump">0.32%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.39%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">0.32%<span></span>
</td>
<td class="nump">0.39%<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_NumberOfGroupsWithinEmployeePopulation', window );">Groups within the employee population | group</a></td>
<td class="nump">2<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="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="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_EstimatedForfeitureRateForUnvestedOptionsForSeniorManagement', window );">Estimated annual forfeiture rate for unvested options for senior management</a></td>
<td class="nump">8.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">8.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_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="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_IncreaseInCompensationExpenseDueToRevisedEstimatedForfeitureRates', window );">Increase (decrease) to compensation expense</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 1,283,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 673,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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Weighted-average grant-date fair values, in dollars per share | $ / shares</a></td>
<td class="nump">$ 21.63<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 15.51<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 21.62<span></span>
</td>
<td class="nump">$ 14.98<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_SharesBasedCompensationArrangementBySharesBasedPaymentAwardOptionsExercisableIntrinsicValue', window );">Total intrinsic value</a></td>
<td class="nump">$ 4,902,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 19,408,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 32,991,000<span></span>
</td>
<td class="nump">$ 72,451,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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedFairValue', window );">Total fair values of stock options vest</a></td>
<td class="nump">887,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">725,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">26,560,000<span></span>
</td>
<td class="nump">18,713,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_EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognized', window );">Unrecognized compensation expense</a></td>
<td class="nump">56,124,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">$ 56,124,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_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 9 months 18 days<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<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">9,002,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,846,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 22,196,000<span></span>
</td>
<td class="nump">15,329,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_EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense', window );">Tax benefit from compensation expense</a></td>
<td class="nump">1,607,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 2,583,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">3,954,000<span></span>
</td>
<td class="nump">$ 5,022,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_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="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_Vestingperiodperformancebasedrestrictedstockyears', window );">Vesting period, performance-based restricted stock, years</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<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_Vestingperiodtimebasedrestrictedstockyears', window );">Vesting period, time-based restricted stock, years</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">3 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_us-gaap_PlanNameAxis=cgnx_GeneralStockOptionPlanMember', window );">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">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_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">20,388,502<span></span>
</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">20,388,502<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>
</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_cgnx_Vestingperiodperformancebasedrestrictedstockyears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Vesting period, performance-based restricted stock, years</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_Vestingperiodperformancebasedrestrictedstockyears</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_Vestingperiodtimebasedrestrictedstockyears">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Vesting period, time-based restricted stock, years</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_Vestingperiodtimebasedrestrictedstockyears</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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://www.xbrl.org/2003/role/presentationRef<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=27013229&amp;loc=d3e301413-122809<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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=96867065&amp;loc=d3e5047-113901<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<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=96867065&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://www.xbrl.org/2003/role/presentationRef<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=96867065&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://www.xbrl.org/2003/role/presentationRef<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=96867065&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://www.xbrl.org/2003/role/presentationRef<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=96867065&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_ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The estimated dividend rate (a percentage of the share price) to be paid (expected dividends) to holders of the underlying shares over the option's term.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<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=96867065&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_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://www.xbrl.org/2003/role/presentationRef<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=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted average grant-date fair value of options granted during the reporting period as calculated by applying the disclosed option pricing methodology.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<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=96867065&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_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_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>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>60
<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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6816941776">
<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">6 Months Ended</th>
</tr>
<tr><th class="th">
<div>Jul. 01, 2018 </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">12,726<span></span>
</td>
</tr>
<tr class="re">
<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,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_StockIssuedDuringPeriodSharesStockOptionsExercised', window );">Exercised, shares | shares</a></td>
<td class="num">(881)<span></span>
</td>
</tr>
<tr class="re">
<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">(373)<span></span>
</td>
</tr>
<tr class="ro">
<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,591<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber', window );">Exercisable as of reporting date, shares | shares</a></td>
<td class="nump">4,781<span></span>
</td>
</tr>
<tr class="ro">
<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">12,177<span></span>
</td>
</tr>
<tr class="re">
<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">$ 25.24<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice', window );">Granted, in dollars per share | $ / shares</a></td>
<td class="nump">56.03<span></span>
</td>
</tr>
<tr class="ro">
<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">16.82<span></span>
</td>
</tr>
<tr class="re">
<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">32.68<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice', window );">Outstanding, shares | $ / shares</a></td>
<td class="nump">30.39<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice', window );">Exercisable as of reporting date, Weighted-Average Exercise Price, in dollars per share | $ / shares</a></td>
<td class="nump">19.98<span></span>
</td>
</tr>
<tr class="ro">
<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">$ 29.20<span></span>
</td>
</tr>
<tr class="re">
<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 7 months 13 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">6 years 2 months 1 day<span></span>
</td>
</tr>
<tr class="ro">
<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 5 months 27 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">$ 223,515<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">117,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_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue', window );">Options vested or expected to vest, in dollars | $</a></td>
<td class="nump">$ 210,965<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1 [Abstract]</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosures1Abstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Share based compensation arrangement by share based payment award options exercisable aggregate intrinsic value.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableAggregateIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>cgnx_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsAdditionalDisclosuresAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of shares into which fully or partially vested stock options outstanding as of the balance sheet date can be currently converted under the option plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<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=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted-average price as of the balance sheet date at which grantees can acquire the shares reserved for issuance on vested portions of options outstanding and currently exercisable under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<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=96867065&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://www.xbrl.org/2003/role/presentationRef<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=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresAndExpirationsInPeriodWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average price of options that were either forfeited or expired.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<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=96867065&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://www.xbrl.org/2003/role/presentationRef<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=96867065&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://www.xbrl.org/2003/role/presentationRef<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=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of options outstanding, including both vested and non-vested options.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<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=96867065&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average price at which grantees can acquire the shares reserved for issuance under the stock option plan.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<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=96867065&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://www.xbrl.org/2003/role/presentationRef<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=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount by which current fair value of underlying stock exceeds exercise price of fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<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=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:monetaryItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>debit</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageExercisePrice">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted-average exercise price, at which grantee can acquire shares reserved for issuance, for fully vested and expected to vest options outstanding. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<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=96867065&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://www.xbrl.org/2003/role/presentationRef<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=96867065&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://www.xbrl.org/2003/role/presentationRef<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=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsOutstandingWeightedAverageRemainingContractualTerm2</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average remaining contractual term for fully vested and expected to vest options outstanding, in 'PnYnMnDTnHnMnS' format, for example, 'P1Y5M13D' represents reported fact of one year, five months, and thirteen days. Includes, but is not limited to, unvested options for which requisite service period has not been rendered but that are expected to vest based on achievement of performance condition, if forfeitures are recognized when they occur.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<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=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:durationItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_StockIssuedDuringPeriodSharesStockOptionsExercised">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of share options (or share units) exercised during the current period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<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 2: http://www.xbrl.org/2003/role/presentationRef<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=84159872&amp;loc=d3e21463-112644<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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 5: http://www.xbrl.org/2003/role/presentationRef<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=96867065&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_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>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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6661743216">
<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">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jul. 01, 2018</div></th>
<th class="th"><div>Jul. 02, 2017</div></th>
<th class="th"><div>Jul. 01, 2018</div></th>
<th class="th"><div>Jul. 02, 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_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.90%<span></span>
</td>
<td class="nump">2.40%<span></span>
</td>
<td class="nump">2.90%<span></span>
</td>
<td class="nump">2.40%<span></span>
</td>
</tr>
<tr class="re">
<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.32%<span></span>
</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>
</tr>
<tr class="ro">
<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">39.00%<span></span>
</td>
<td class="nump">41.00%<span></span>
</td>
<td class="nump">39.00%<span></span>
</td>
<td class="nump">41.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 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>
<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://www.xbrl.org/2003/role/presentationRef<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=96867065&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://www.xbrl.org/2003/role/presentationRef<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=96867065&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://www.xbrl.org/2003/role/presentationRef<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=96867065&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://www.xbrl.org/2003/role/presentationRef<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=96867065&amp;loc=d3e5070-113901<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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=27013229&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>62
<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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6816555200">
<tr>
<th class="tl" colspan="1" rowspan="2"><div style="width: 200px;"><strong>Stock-Based Compensation Expense - Nonvested Restricted Stock Shares Activity (Details) - Restricted Stock<br> $ / shares in Units, shares in Thousands, $ in Thousands</strong></div></th>
<th class="th" colspan="1">6 Months Ended</th>
</tr>
<tr><th class="th">
<div>Jul. 01, 2018 </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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward', 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Nonvested, shares | shares</a></td>
<td class="nump">20<span></span>
</td>
</tr>
<tr class="re">
<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, shares | shares</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod', window );">Vested, shares | shares</a></td>
<td class="num">(20)<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod', window );">Forfeited or expired, shares | shares</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber', window );">Nonvested, shares | shares</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward', window );"><strong>Weighted-Average Grant Fair Value</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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Nonvested, in dollars per share | $ / shares</a></td>
<td class="nump">$ 17.03<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue', window );">Granted, in dollars per share | $ / shares</a></td>
<td class="nump">0.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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue', window );">Vested, in dollars per share | $ / shares</a></td>
<td class="nump">17.03<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue', window );">Forfeited or expired, in dollars per share | $ / shares</a></td>
<td class="nump">0.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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue', window );">Nonvested, in dollars per share | $ / shares</a></td>
<td class="nump">$ 0.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_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract', 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_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested', window );">Vested | $</a></td>
<td class="nump">$ 993<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested', window );">Nonvested as of July 1, 2018 | $</a></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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that were forfeited during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<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)<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeitedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Weighted average fair value as of the grant date of equity-based award plans other than stock (unit) option plans that were not exercised or put into effect as a result of the occurrence of a terminating event.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<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)(3)<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of grants made during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<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=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value at grant date for nonvested equity-based awards issued during the period on other than stock (or unit) option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, performance target plan).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<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=96867065&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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of non-vested equity-based payment instruments, excluding stock (or unit) options, that validly exist and are outstanding as of the balance sheet date.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<br> -Publisher FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)-(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedNumber</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>instant</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>A roll forward is a reconciliation of a concept from the beginning of a period to the end of a period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value of nonvested awards on equity-based plans excluding option plans (for example, phantom stock or unit plan, stock or unit appreciation rights plan, revenue or profit achievement stock award plan) for which the employer is contingently obligated to issue equity instruments or transfer assets to an employee who has not yet satisfied service or performance criteria necessary to gain title to proceeds from the sale of the award or underlying shares or units.</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 FASB<br> -Name Accounting Standards Codification<br> -Topic 718<br> -SubTopic 10<br> -Section 50<br> -Paragraph 2<br> -Subparagraph (c)(2)(i)-(ii)<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- 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_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValueRollForward</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The number of equity-based payment instruments, excluding stock (or unit) options, that vested during the reporting period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<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)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriod</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The weighted average fair value as of grant date pertaining to an equity-based award plan other than a stock (or unit) option plan for which the grantee gained the right during the reporting period, by satisfying service and performance requirements, to receive or retain shares or units, other instruments, or cash in accordance with the terms of the arrangement.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<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)(2)<br> -URI http://asc.fasb.org/extlink&amp;oid=96867065&amp;loc=d3e5070-113901<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsVestedInPeriodWeightedAverageGrantDateFairValue</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>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_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueAbstract</td>
</tr>
<tr>
<td style="padding-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_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Intrinsic value of equity-based compensation awards not vested. Excludes stock and unit 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_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueNonvested</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Intrinsic value of equity-based compensation awards vested. Excludes stock and unit 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_SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_AwardTypeAxis=us-gaap_RestrictedStockMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_AwardTypeAxis=us-gaap_RestrictedStockMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6816830432">
<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">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jul. 01, 2018</div></th>
<th class="th"><div>Jul. 02, 2017</div></th>
<th class="th"><div>Jul. 01, 2018</div></th>
<th class="th"><div>Jul. 02, 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_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">$ 9,002<span></span>
</td>
<td class="nump">$ 7,846<span></span>
</td>
<td class="nump">$ 22,196<span></span>
</td>
<td class="nump">$ 15,329<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">557<span></span>
</td>
<td class="nump">454<span></span>
</td>
<td class="nump">1,354<span></span>
</td>
<td class="nump">884<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,154<span></span>
</td>
<td class="nump">2,715<span></span>
</td>
<td class="nump">7,969<span></span>
</td>
<td class="nump">5,325<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">$ 5,291<span></span>
</td>
<td class="nump">$ 4,677<span></span>
</td>
<td class="nump">$ 12,873<span></span>
</td>
<td class="nump">$ 9,120<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_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://www.xbrl.org/2003/role/presentationRef<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=27013229&amp;loc=d3e301413-122809<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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=96867065&amp;loc=d3e5047-113901<br><br>Reference 3: http://www.xbrl.org/2003/role/presentationRef<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=96867065&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>64
<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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6827057200">
<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">6 Months Ended</th>
<th class="th" colspan="1"></th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jul. 01, 2018</div></th>
<th class="th"><div>Feb. 28, 2018</div></th>
<th class="th"><div>Nov. 01, 2015</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>
</tr>
<tr class="ro">
<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">$ 121,308,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareRepurchaseProgramAxis=cgnx_RepurchaseProgramApril2017Member', window );">Repurchase Program April 2017 [Member]</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EquityClassOfTreasuryStockLineItems', window );"><strong>Equity, Class of Treasury Stock [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchaseProgramAuthorizedAmount1', window );">Authorized common stock to be repurchased</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 100,000,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_StockRepurchaseProgramAggregateNumberofSharesRepurchased', window );">Stock Repurchase Program, Aggregate Number of Shares Repurchased</a></td>
<td class="nump">1,744<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_StockRepurchaseProgramValue', window );">Stock Repurchase Program, Value</a></td>
<td class="nump">$ 100,000,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_StockRepurchasedDuringPeriodShares', window );">Stock Repurchased During Period, Shares</a></td>
<td class="nump">803<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">$ 45,200,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareRepurchaseProgramAxis=cgnx_RepurchaseProgramFebruary2018Member', window );">Repurchase Program February 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>
</tr>
<tr class="re">
<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>
</tr>
<tr class="ro">
<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="nump">$ 150,000,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_StockRepurchasedDuringPeriodShares', window );">Stock Repurchased During Period, Shares</a></td>
<td class="nump">1,553<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="nump">$ 76,108,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_StockRepurchaseProgramRemainingAuthorizedRepurchaseAmount1', window );">Stock Repurchase Program, Remaining Authorized Repurchase Amount</a></td>
<td class="nump">73,892,000<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_ShareRepurchaseProgramAxis=cgnx_RepurchaseProgramApril2017andFebruary2018Member', window );">Repurchase Program April 2017 and February 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>
</tr>
<tr class="re">
<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>
</tr>
<tr class="ro">
<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">$ 121,308,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://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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=84159872&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_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://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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=84159872&amp;loc=d3e21463-112644<br><br>Reference 4: http://www.xbrl.org/2003/role/presentationRef<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_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_RepurchaseProgramApril2017Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_RepurchaseProgramApril2017Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareRepurchaseProgramAxis=cgnx_RepurchaseProgramFebruary2018Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_RepurchaseProgramFebruary2018Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_ShareRepurchaseProgramAxis=cgnx_RepurchaseProgramApril2017andFebruary2018Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_RepurchaseProgramApril2017andFebruary2018Member</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>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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6638847520">
<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">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jul. 01, 2018</div></th>
<th class="th"><div>Jul. 02, 2017</div></th>
<th class="th"><div>Jul. 01, 2018</div></th>
<th class="th"><div>Jul. 02, 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_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 provision at federal statutory corporate tax rate</a></td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">35.00%<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">35.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">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="ro">
<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">(18.00%)<span></span>
</td>
<td class="num">(7.00%)<span></span>
</td>
<td class="num">(18.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="num">(1.00%)<span></span>
</td>
<td class="num">(1.00%)<span></span>
</td>
<td class="num">(1.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_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent', window );">Discrete tax benefit related to stock option exercises</a></td>
<td class="num">(1.00%)<span></span>
</td>
<td class="num">(9.00%)<span></span>
</td>
<td class="num">(5.00%)<span></span>
</td>
<td class="num">(19.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">1.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 provision on continuing operations</a></td>
<td class="nump">16.00%<span></span>
</td>
<td class="nump">9.00%<span></span>
</td>
<td class="nump">11.00%<span></span>
</td>
<td class="num">(1.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_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>Effective Income Tax Rate Reconciliation, Share-based Compensation, Excess Tax Benefit, Percent</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent</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://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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 3: http://www.xbrl.org/2003/role/presentationRef<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_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://www.xbrl.org/2003/role/presentationRef<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 2: http://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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 2: http://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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://www.xbrl.org/2003/role/presentationRef<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 2: http://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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_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_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://www.xbrl.org/2003/role/presentationRef<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 2: http://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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_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://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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>66
<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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6816739584">
<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="1"></th>
<th class="th" colspan="2">3 Months Ended</th>
<th class="th" colspan="2">6 Months Ended</th>
<th class="th" colspan="1"></th>
</tr>
<tr>
<th class="th"><div>Jan. 01, 2018</div></th>
<th class="th"><div>Jul. 01, 2018</div></th>
<th class="th"><div>Jul. 02, 2017</div></th>
<th class="th"><div>Jul. 01, 2018</div></th>
<th class="th"><div>Jul. 02, 2017</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_IncomeTaxContingencyLineItems', window );"><strong>Income Tax Contingency [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">Income tax provision at federal statutory corporate tax rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">35.00%<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
<td class="nump">35.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="text">&#160;<span></span>
</td>
<td class="nump">7.00%<span></span>
</td>
<td class="nump">18.00%<span></span>
</td>
<td class="nump">7.00%<span></span>
</td>
<td class="nump">18.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_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="text">&#160;<span></span>
</td>
<td class="nump">1.00%<span></span>
</td>
<td class="nump">9.00%<span></span>
</td>
<td class="nump">5.00%<span></span>
</td>
<td class="nump">19.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="text">&#160;<span></span>
</td>
<td class="nump">$ 879<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 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 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="text">&#160;<span></span>
</td>
<td class="nump">136<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="text">&#160;<span></span>
</td>
<td class="nump">8,427<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">8,427<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="text">&#160;<span></span>
</td>
<td class="nump">7,399<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">7,399<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">$ 6,488<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="text">&#160;<span></span>
</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="text">&#160;<span></span>
</td>
<td class="nump">$ 924<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">924<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="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>
</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="text">&#160;<span></span>
</td>
<td class="nump">$ 1,200<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_TaxyearsopentoexaminationbyInternalRevenueService', window );">Tax years open to examination by Internal Revenue Service</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">2014 through 2017<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl custom" style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_cgnx_IncomeTaxExaminationYearsUnderExaminationOtherEntities', window );">Tax years open to examination by various taxing authorities for other entities</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">2013 through 2017<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_ForeignCountryMember', window );">Foreign Tax Authority | Revenue Commissioners, Ireland</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxContingencyLineItems', window );"><strong>Income Tax Contingency [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">Income tax provision at federal statutory corporate tax rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">12.50%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_ForeignCountryMember', window );">Foreign Tax Authority | State Administration of Taxation, China</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxContingencyLineItems', window );"><strong>Income Tax Contingency [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">Income tax provision at federal statutory corporate tax rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">25.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="rh">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxAuthorityAxis=us-gaap_DomesticCountryMember', window );">Domestic Tax Authority</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxContingencyLineItems', window );"><strong>Income Tax Contingency [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate', window );">Income tax provision at federal statutory corporate tax rate</a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="nump">21.00%<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<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_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate201616Member', window );">Accounting Standards Update 2016-16 [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>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="re">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_IncomeTaxContingencyLineItems', window );"><strong>Income Tax Contingency [Line Items]</strong></a></td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
<tr class="ro">
<td class="pl " style="border-bottom: 0px;" valign="top"><a class="a" href="javascript:void(0);" onclick="top.Show.showAR( this, 'defref_us-gaap_CumulativeEffectOnRetainedEarningsNetOfTax1', window );">Cumulative Effect on Retained Earnings, Net of Tax</a></td>
<td class="nump">$ 5,961<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
<td class="text">&#160;<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_cgnx_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>Effective Income Tax Rate Reconciliation, Share-based Compensation, Excess Tax Benefit, Percent</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">cgnx_EffectiveIncomeTaxRateReconciliationSharebasedCompensationExcessTaxBenefitPercent</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_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_CumulativeEffectOnRetainedEarningsNetOfTax1">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Amount of the cumulative effect on retained earnings net of related income tax effect.</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 FASB<br> -Name Accounting Standards Codification<br> -Topic 250<br> -SubTopic 10<br> -Section 50<br> -Paragraph 9<br> -URI http://asc.fasb.org/extlink&amp;oid=64853466&amp;loc=d3e22663-107794<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_CumulativeEffectOnRetainedEarningsNetOfTax1</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>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_EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Percentage of domestic federal statutory tax rate applicable to pretax income (loss).</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<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 2: http://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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 2: http://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><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_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://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate201616Member">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.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_AdjustmentsForNewAccountingPronouncementsAxis=us-gaap_AccountingStandardsUpdate201616Member</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>67
<FILENAME>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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6633188976">
<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">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jul. 01, 2018</div></th>
<th class="th"><div>Jul. 02, 2017</div></th>
<th class="th"><div>Jul. 01, 2018</div></th>
<th class="th"><div>Jul. 02, 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_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">2,959,000<span></span>
</td>
<td class="nump">3,792,000<span></span>
</td>
<td class="nump">2,032,000<span></span>
</td>
<td class="nump">2,715,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://www.xbrl.org/2003/role/presentationRef<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>68
<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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6767653856">
<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">6 Months Ended</th>
</tr>
<tr>
<th class="th"><div>Jul. 01, 2018</div></th>
<th class="th"><div>Jul. 02, 2017</div></th>
<th class="th"><div>Jul. 01, 2018</div></th>
<th class="th"><div>Jul. 02, 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_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">172,370<span></span>
</td>
<td class="nump">173,278<span></span>
</td>
<td class="nump">172,825<span></span>
</td>
<td class="nump">172,960<span></span>
</td>
</tr>
<tr class="re">
<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 stock options</a></td>
<td class="nump">4,779<span></span>
</td>
<td class="nump">5,950<span></span>
</td>
<td class="nump">5,593<span></span>
</td>
<td class="nump">5,944<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">177,149<span></span>
</td>
<td class="nump">179,228<span></span>
</td>
<td class="nump">178,418<span></span>
</td>
<td class="nump">178,904<span></span>
</td>
</tr>
</table>
<div style="display: none;">
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_EarningsPerShareAbstract">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- References</a><div><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_EarningsPerShareAbstract</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberDilutedSharesOutstandingAdjustment">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>The sum of dilutive potential common shares or units used in the calculation of the diluted per-share or per-unit computation.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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=96947427&amp;loc=d3e1505-109256<br><br>Reference 2: http://www.xbrl.org/2003/role/presentationRef<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_WeightedAverageNumberOfDilutedSharesOutstanding</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_WeightedAverageNumberOfSharesOutstandingBasic">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Number of [basic] shares or units, after adjustment for contingently issuable shares or units and other shares or units not deemed outstanding, determined by relating the portion of time within a reporting period that common shares or units have been outstanding to the total time in that period.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>Reference 1: http://www.xbrl.org/2003/role/presentationRef<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/presentationRef<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=96947427&amp;loc=d3e1448-109256<br></p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_WeightedAverageNumberOfSharesOutstandingBasic</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:sharesItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>69
<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.10.0.1</span><table class="report" border="0" cellspacing="2" id="idp6639175168">
<tr>
<th class="tl" colspan="1" rowspan="1"><div style="width: 200px;"><strong>Subsequent Events (Details) - Subsequent Event<br></strong></div></th>
<th class="th">
<div>Jul. 30, 2018 </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_SubsequentEventLineItems', window );"><strong>Subsequent Event [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_Dividends', window );">Dividends (in dollars per share)</a></td>
<td class="nump">$ 0.045<span></span>
</td>
</tr>
<tr class="re">
<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">Aug. 31,  2018<span></span>
</td>
</tr>
<tr class="ro">
<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">Aug. 17,  2018<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_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://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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://www.xbrl.org/2003/role/presentationRef<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_SubsequentEventLineItems">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Definition</a><div><p>Detail information of subsequent event by type. User is expected to use existing line items from elsewhere in the taxonomy as the primary line items for this disclosure, which is further associated with dimension and member elements pertaining to a subsequent event.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ References</a><div style="display: none;"><p>No definition available.</p></div>
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">+ Details</a><div style="display: none;"><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventLineItems</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td>us-gaap_</td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>xbrli:stringItemType</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td>duration</td>
</tr>
</table></div>
</div></td></tr>
</table>
<table border="0" cellpadding="0" cellspacing="0" class="authRefData" style="display: none;" id="defref_us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember">
<tr><td class="hide"><a style="color: white;" href="javascript:void(0);" onclick="top.Show.hideAR();">X</a></td></tr>
<tr><td><div class="body" style="padding: 2px;">
<a href="javascript:void(0);" onclick="top.Show.toggleNext( this );">- Details</a><div><table border="0" cellpadding="0" cellspacing="0">
<tr>
<td><strong> Name:</strong></td>
<td style="white-space:nowrap;">us-gaap_SubsequentEventTypeAxis=us-gaap_SubsequentEventMember</td>
</tr>
<tr>
<td style="padding-right: 4px;white-space:nowrap;"><strong> Namespace Prefix:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Data Type:</strong></td>
<td>na</td>
</tr>
<tr>
<td><strong> Balance Type:</strong></td>
<td></td>
</tr>
<tr>
<td><strong> Period Type:</strong></td>
<td></td>
</tr>
</table></div>
</div></td></tr>
</table>
</div>
</body>
</html>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EXCEL
<SEQUENCE>70
<FILENAME>Financial_Report.xlsx
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 Financial_Report.xlsx
M4$L#!!0    ( ".!_DP?(\\#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'^3&;S"V""    L0   !    !D;V-0<F]P
M<R]A<' N>&UL38Y-"\(P$$3_2NG=;BGB06) 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    "  C@?Y,DN+L'NX    K @  $0   &1O8U!R;W!S+V-O
M<F4N>&ULS9+!:L,P#(9?9?B>R$Z@*R;-9:6G#08K;.QF;+4UBV-C:R1]^SE9
MFS*V!]C1TN]/GT"-#E+[B,_1!XQD,=V-KNN3U&'#3D1! B1]0J=2F1-];AY\
M=(KR,QXA*/VAC@@5YRMP2,HH4C !B[ 06=L8+75$13Y>\$8O^/ 9NQEF-&"'
M#GM*($H!K)TFAO/8-7 #3##"Z-)W <U"G*M_8N<.L$MR3'9)#<-0#O6<RSL(
M>'MZ?)G7+6R?2/4:\Z]D)9T#;MAU\FO]L-WO6%MQL2[X?5'SO5A)OI:B>I]<
M?_C=A)TW]F#_L?%5L&W@UUVT7U!+ P04    "  C@?Y,F5R<(Q &  "<)P
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
M#B5;4%S%U@_(O(#,L>\6 %>!D9^P]1*VKA\O$![)RK^R\R)VKC]>(#R2Q(_
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
M<-<8/JPYC?>HX'J96_P'4$L#!!0    ( ".!_DRWQ\;0/@(  !D'   8
M>&PO=V]R:W-H965T<R]S:&5E=#0N>&ULC57;CILP$/T5Q'O7W+.-"-(FI&JE
M5EIMU?;9(9. UL;4=L+V[^L+80G0I"_!'LXY,V=,QFG+^*LH :3S1DDM5FXI
M9;-$2!0E4"P>6 .U>G-@G&*IMOR(1,,![PV)$A1X7H(HKFHW2TWLF6<I.TE2
MU?#,'7&B%/,_:R"L7;F^>PF\5,=2Z@#*T@8?X3O('\TS5SO4J^PK"K6H6.UP
M.*S<)W^Y333> 'Y6T(K!VM%.=HR]ZLV7_<KU=$% H)!: :O'&39 B!929?SN
M--T^I28.UQ?U3\:[\K+# C:,_*KVLERYCZZSAP,^$?G"VL_0^8E=IS/_%<Y
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
M<-DC4'*N0%?%&UVPTI?B%# HE9GN]%P,5\,0*-Z-MQZ:KM[L+U!+ P04
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
M;#$D-#X<W^'93G,V&=[T\Q=BRS\N?P-02P,$%     @ (X'^3'52C3&V 0
MT0,  !D   !X;"]W;W)K<VAE971S+W-H965T,30N>&UL?5-A;]L@$/TKB!]0
M8IQF461;:EI-F[1)4:=MGXE]ME'!YP&.NW\_P*YGK=:^ '?<>_?N.+(1S8MM
M 1QYU:JS.6V=ZT^,V;(%+>P=]M#YFQJ-%LZ;IF&V-R"J"-**\=WNP+20'2VR
MZ+N8(L/!*=G!Q1 [:"W,[S,H''.:T#?'LVQ:%QRLR'K1P#=PW_N+\19;6"JI
MH;,2.V*@SNE#<CKO0WP,^"%AM*LS"95<$5^"\;G*Z2X( @6E"PS";S=X!*4"
MD9?Q:^:D2\H 7)_?V#_&VGTM5V'A$=5/6;DVIT=**JC%H-PSCI]@KN>>DKGX
M+W #Y<.#$I^C1&7C2LK!.M0SBY>BQ>NTRR[NXW23\AFV#> S@"^ 8\S#ID11
M^9-PHL@,CL1,O>]%>.+DQ'UORN",K8AW7KSUWEMQ.&;L%GCFD/,4PE<AR1+!
M//F2@6]E./-W<)YNX]--A6G$I^OT![Y-L-\DV$>"_?]*?!^2'/X5R58MU6":
M.$R6E#AT<9!7WF5>'^(;LK_AT[!_%::1G257=/YA8_MK1 =>RN[.3U#K_]=B
M**A=.'[P9S--V60X[.</Q)9?7/P!4$L#!!0    ( ".!_DPVIY\1M0$  -,#
M   9    >&PO=V]R:W-H965T<R]S:&5E=#$U+GAM;'U3[8Z;,!!\%<L/<$Z
MI*<(D"Y75:W42M%5[?UV8 'K_$%M$ZYOW[7A*&U1_V#O,C,[:Z_ST=@7UP%X
M\JJD=@7MO.]/C+FJ \7=G>E!XY_&6,4]AK9EKK? ZTA2DB6[W9$I+C0M\YB[
MV#(W@Y="P\42-RC%[<\S2#,6=$_?$D^B[7Q(L#+O>0M?P7_K+Q8CMJC40H%V
MPFABH2GHP_YTS@(^ KX+&-UJ3T(G5V->0O"I+N@N& ()E0\*')<;/(*400AM
M_)@UZ5(R$-?[-_4/L7?LY<H=/!KY+&K?%?2>DAH:/DC_9,:/,/=SH&1N_C/<
M0"(\.,$:E9$N?DDU.&_4K()6%'^=5J'C.DY_#NE,VR8D,R%9"/>Q#IL*1>?O
MN>=E;LU(['3V/0]7O#\E>#952,:CB/_0O,/LK=P?LYS=@M",.4^89(U9$ S5
MEQ+)5HES\@\]2;?YZ:;%-/+3/RP>M@6R38$L"F3_[7$+<_RK"%L=J@+;QG%R
MI#*#CJ.\RBX3^Y#$2_D-G\;]"[>MT(Y<C<>KC1?0&.,!K>SN<(8Z?&%+(*'Q
M8?L.]W::LRGPII^?$%O><?D+4$L#!!0    ( ".!_DR#%[:%M0$  -,#   9
M    >&PO=V]R:W-H965T<R]S:&5E=#$V+GAM;'U3[6Z<,!!\%<L/$-]Q-+F>
M "F7JFJD1#JE:OO;!PM8\0>US9&\?=>&4)J@_L'>969VUEYG@['/K@7PY$5)
M[7+:>M\=&'-E"XJ[*].!QC^UL8I[#&W#7&>!5Y&D)$LVFVNFN-"TR&+N9(O,
M]%X*#2=+7*\4MZ]'D&;(Z9:^)9Y$T_J08$76\0:^@__1G2Q&;%:IA +MA-'$
M0IW3V^WAF 9\!/P4,+C%GH1.SL8\A^"^RNDF& ()I0\*')<+W(&400AM_)XT
MZ5PR$)?[-_6OL7?LY<P=W!GY2U2^S>F>D@IJWDO_9(9O,/7SB9*I^0>X@$1X
M<((U2B-=_)*R=]ZH206M*/XRKD+'=1C_I,E$6R<D$R&9"?M8AXV%HO,OW/,B
MLV8@=CS[CH<KWAX2/)LR).-1Q']HWF'V4FRO;S)V"4(3YCABDB5F1C!4GTLD
M:R6.R0=ZLEOG[U8M[B)_]X_%_;I NBJ01H'TOSVN83Z_*\(6AZK -G&<'"E-
MK^,H+[+SQ-[&6V1_X>.X/W+;".W(V7B\VG@!M3$>T,KF"F>HQ1<V!Q)J'[8W
MN+?CG(V!-]WTA-C\CHL_4$L#!!0    ( ".!_DR.*NQSM0$  -,#   9
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
MC-O: 4)J',O1,+*?7APR/WOY7U!+ P04    "  C@?Y,>\DG#;@!  #3 P
M&0   'AL+W=O<FMS:&5E=',O<VAE970R-BYX;6QM4]MNW" 0_17$!P0OWFY6
M*]M2-E752JVT2M7VF;7'-@IX7,#K].\+V''<U"_ #.><N3!D(YIGVP(X\J)5
M9W/:.M>?&+-E"UK8.^RA\S<U&BV<-TW#;&] 5)&D%>-)<F!:R(X66?1=3)'A
MX)3LX&*(';06YL\9%(XYW=%7QY-L6A<<K,AZT<!W<#_ZB_$66U0JJ:&S$CMB
MH,[IP^YTW@=\!/R4,-K5F81*KHC/P?A2Y30)"8&"T@4%X;<;/()20<BG\7O6
MI$O(0%R?7]4_Q=I]+5=AX1'5+UFY-J='2BJHQ:#<$XZ?8:[G R5S\5_A!LK#
M0R8^1HG*QI64@W6H9Q6?BA8OTRZ[N(_33<IGVC:!SP2^$(XQ#IL"Q<P_"B>*
MS.!(S-3[7H0GWIVX[TT9G+$5\<XG;[WW5O#DD+%;$)HQYPG#5YC=@F!>?0G!
MMT*<^7]TGF[ST\T4T\A/U^$/?%M@ORFPCP+[?VJ\?U?C%N;X+@A;-56#:>(X
M65+BT,517GF7B7V(K\C>X-.X?Q.FD9TE5W3^:>,#U(@.?"K)G9^AUO^PQ5!0
MNW"\]V<SS=ED..SG+\26?US\!5!+ P04    "  C@?Y,S)I)1\8!   X!
M&0   'AL+W=O<FMS:&5E=',O<VAE970R-RYX;6QU5-%NG# 0_!7+'Q"#[TB3
M$R#E$D6MU$JG5$V??;" %1M3VQSIW]<VA**K^X*]Z]G9V;67?%+ZS70 %KU+
MT9L"=]8.!T),U8%DYD8-T+N31FG)K#-U2\R@@=4A2 I"D^262,9[7.;!=])E
MKD8K> \GC<PH)=._CR#45. 4?SA>>-M9[R!E/K 6OH/],9RTL\C*4G,)O>&J
M1QJ: C^DAV/F\0'PRF$RFSWRE9R5>O/&E[K B1<$ BKK&9A;+O (0G@B)^/7
MPHG7E#YPN_]@?PZUNUK.S,"C$C]Y;;L"WV%40\-&85_4]!F6>C*,EN*_P@6$
M@WLE+D>EA E?5(W&*KFP."F2O<\K[\,ZS2?9_1(6#Z!+ %T#[D(>,B<*RI^8
M966NU83TW/N!^2M.#]3UIO+.T(IPYL0;Y[V4-+G/R<43+9CCC*$;3+HBB&-?
M4]!8BB/])YSNXO&[J,1=B-]MT]]F<8)]E& ?"/9; 6ER56,,\Y\JLVB2+$)
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
M>S/-V10XW<]/B"SON/P+4$L#!!0    ( ".!_DQ7$R2.H ,  % 3   9
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
M<]ZVP78A6=UU>-3_9I)_4$L#!!0    ( ".!_DS0NL$:Q@,  &L1   9
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
M['X:$Z@1@03$!J-E9AA1@]$R'"-J8B/:S2WU( $#:#@VU(![04(%PV<XY<^
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
MRQA][IJ]]_GV>E/X7=M?)MUU?3G0O=RTU6D\K ZO)^;K_P!02P,$%     @
M(X'^3$7' <N)!   "!H  !D   !X;"]W;W)K<VAE971S+W-H965T,SDN>&UL
ME=GM;J-&% ;@6[&X@(4Y\P%$MJ5FJZJ56BG:JMO?Q)[$UH)Q@<3;NR]?L>PY
M[ZG8/['!P[PS T]F@/6E;KZU!^^[U?>J/+6;Z-!UYX<X;G<'7Q7MI_KL3_TO
M+W53%5V_V;S&[;GQQ7X\J"IC2A(75\7Q%&W7X[ZG9KNNW[KR>/)/S:I]JZJB
M^??1E_5E$ZGH8\>7X^NA&W;$V_6Y>/5_^NZO\U/3;\776O;'RI_:8WU:-?YE
M$_VD'AZ='@X82WP]^DM[\WTU=.6YKK\-&[_M-U$RM,B7?M<-513]Q[O_[,MR
MJ*EOQS]SI=$U<SCP]OM'[;^,G>\[\URT_G-=_GW<=X=-E$6KO7\IWLKN2WWY
MU<\=LM%J[OWO_MV7??&A)7W&KB[;\>]J]]9V=377TC>E*KY/G\?3^'F9Z_\X
M#!] \P%T/8"FODQ!8\M_+KIBNV[JRZJ9!O]<#.=8/5 _-KMAYS@4XV]]X]M^
M[_M6)[2.WX>*YC*/4QFZ*4-I?BT3]_5?0PB&T%B!OJO X0HTK$"/%9B[5NJ@
ME5.9="QSFLI8G9H$YQB88T"."7*F,O8F1VG*<R''PAP+<FR08UE.FN8JPS$.
MQC@0XX(8QV*TSI3",2F,24%,&L2D?-1R8U(<D\&8#,1D04P&!BVU."6'*3E+
MH2R\U'*6XLBZ3!@TE6!Y"4\R0E.5@%<MAZ4P344+:,V%[LZ><EHZ?0HC5DAQ
MJ&LN=!N5N^2FV'T29JR0X]"7XI!3E4F.%8:LD.20F.*4*3>Y=+E@RPIA#I4I
MKCE-Q<'#FA7B'#I3W+/63KIZL6?%07-JBHO69+)$&CR,6@'51H!"F"LERZT1
MYDIJ@;6YT/W\XG0J6"-AQD6L0VO$60M7/V'1A$2'SHB+EE*P9D*:0V/$-4LI
M6#(AR:$OXI*E%*R8D.(0%W'%4@HF3)PPET5@2OZ_"PTC)H!8FA<(XZ3\!Y:'
M&*?F<RE8(":LP]:2M$#4V+!&AD-8FAO6*B$M)&'"&A$.<6E.F%0J+!*UL+A&
MBD-?FBLVFJ2QPY U@AP2TQRRS1+A=D-CRQI9#I5I;MD8)?4(<]:<,X>F.>?^
M8L@S*0J;UL"TD4XTMJJS'X"&K6H^D0)H?'V<:FD5;K!H@T2S6S$@.G<",X-!
M&P0Z9&8 Z"011M]@SP9Y#IF9Q5.RP9@-PAP:,XNG9"/<)R/)(3"S>$HVF+'A
MC+DNPQD/MR;"96VP8P,<&^%_CL$^3;H<E\$^#;K#9?WE"V+*Q2G78,8&,6:Z
M.&/I(0<V;)%A]IB#&Y92,&"+ (>N+ <LI6"]%ND-75FNU^9:N/VR&+!%@$-:
M=C%@BP%;#IC3LARPMDIZS&&%1UT L94:BW5:MYR6Q3HMNJEE_>4KXEQ9Z?1A
MPQ89#F59;E@:$>S7(K],%O>;&<(Y#@MV2#![@KA8L,."'1(<VG*+!3LLV"'!
M(2RW>/YUF*_C?#DLQY]5YWD>7M'QS3/\X1W)'T7S>CRUJ^>ZZ^IJ?&C_4M>=
M[VM,/O4M/OAB?]TH_4LW?$W[[\WT;F+:Z.KS_-XEOK[\V?X'4$L#!!0    (
M ".!_DR#&88Z  (  '8%   9    >&PO=V]R:W-H965T<R]S:&5E=#0P+GAM
M;'V4[6Z;,!B%;P5Q 378?"4B2"W5M$F;%'7:]MN!EX!J,+.=T-W];$,1 [H_
M^.N<X^<UX'3@XE76 ,IY:UDG3VZM5']$2!8UM%0^\!XZO5)QT5*EA^**9"^
MEM;4,H0]+T(M;3HW2^W<660IORG6=' 6CKRU+15_GH#QX>3Z[OO$2W.ME9E
M6=K3*WP']:,_"SU"<TK9M-#)AG>.@.KD/OK'/#)Z*_C9P" 7?<=4<N'\U0R^
ME"?7,T# H% F@>KF#CDP9H(TQN\ITYVW-,9E_SW]DZU=UW*A$G+.?C6EJD]N
MXCHE5/3&U L?/L-43^@Z4_%?X0Y,RPV)WJ/@3-JG4]RDXNV4HE%:^C:V36?;
M85R)\63;-^#)@&>#'_S70"8#61G02&9+?::*9JG@@R/&E]53\TWX1Z(/LS"3
M]NSLFJY6ZME[1KQ#BNXF:-(\C1J\T&#RKR3?2B(\2Y FF#'P+@:V?K+P^Q\%
MD-T 8@."91V^MZICU,16TUE-$'EXI<JW*D(..-Z'"79A@AT8?P4S:L+%-FN0
MK0+[?K#/$>YRA#L<>,41;G8)2$BB%<M61?PD^> -1;LPT08F2E8LT>;HDT,8
MKEFVJB@^++[(D04M_@!S(WVCXMITTKEPI7\F^\E7G"O0B=Z#+JS6E^ \8% I
MTXUU7XQ7P3A0O)]N.31?M=E?4$L#!!0    ( ".!_DQ:D>P7\@,  * 4   9
M    >&PO=V]R:W-H965T<R]S:&5E=#0Q+GAM;)58VX[;-A#]%4$?$/&FV\(V
MD#@H6B !%BF:/FMM>BU$$EU)NT[^/I2L-2S.X5I]L2X^G#E#SAP-N3J;]D=W
MU+H/?M95TZW#8]^?'J*HVQUU770?S$DW]I^#:>NBMX_M<]2=6EWLQT%U%0G&
MDJ@NRB;<K,9WC^UF95[ZJFST8QMT+W5=M+\^Z<J<UR$/WUY\*Y^/_? BVJQ.
MQ;/^6_?_G!Y;^Q1=K>S+6C==:9J@U8=U^)$_;)48!HR([Z4^=S?WP1#*DS$_
MAH>_]NN0#8QTI7?]8**PEU>]U54U6+(\_IN,AE>?P\#;^S?K?XS!VV">BDYO
M3?5ON>^/ZS +@[T^%"]5_\V<_]130'$83-%_T:^ZLO"!B?6Q,U4W_@:[EZXW
M]63%4JF+GY=KV8S7\V3_;1@>(*8!XCJ JW<'R&F = 9$%V9CJ)^+OMBL6G,.
MVLMJG8HA*?B#M).Y&UZ.<S?^9Z/M[-O7C>1R%;T.AB;,IPM&W&"$ ]E22"*N
MD,@RN-(0D(88Q\L9#84-2&A C@;4S$#LQ''!I".FN9!DJ5!.*/=0,S(*DE&
M3.*0N6#B&S<J9ZD[KP"5QC+&9&)()@9D4H=,3-QPGL3<(0-0DF<Y)I- ,@E8
MYPP;2*&!%$23.]&DE&<L/5XRZ"4C%@0C;@ H91R[R:&;'+@1S'$#0#SS9 !G
MN,@9<L3=,D>HFU29>_+("4>>A.N)HGB2>Z:.8\7@ GDBTD51N2]C.586#J2%
M+-($NO432^;Q@T6#(]5P"Y5304"5BF#^4N58.#A0#N%;)%SN'-6[1THY+GB.
M*MY5=DY+7F8L8>ZTW(/-"6%MX-D"=>=4'""A>[ Y(:PB/%^2.%1&")GW(/-O
M.)89P9:KN\#Z(?B"6 25#S>6=R%S(IZ&1(#D][4T6#B$7)[\ FN"0)K@)K]
MQ9YDJ3LE]V!S0E@3!.HFW.07M%&(%2-+1%&*9QY]$5A?1+(D71+B*!-T>B@J
MCUGBH8.U2J3_HP"PN@BD+B0B*ALH(HIZ)R*L+0)HR\U'=MZ88U602!5\O3U6
M!8E4@73WM.0SV[F[W?T=U)P.U@8)M($4@:2=1ZSBW*4#4+:-\=#Q;'W0WL=-
M&4D;%+L*F4L'H!3S-)L2:Y94RXM 8I612_8LDNH'B@B@_!%AE9% 97P;0HF5
M02)E\)G RB"1,I B  U%ZBKO'="<#-8%B7H.4@*TH> QV6Y34.[)?X4%1K$%
MV:+ YL8EO$6@U).Z"DN5XLNS7V%Y44A>2#R"'%. > "(Q!/='!4-9W=?B_:Y
M;+K@R?2]J<>SH8,QO;8&V0<[-4==[*\/E3[TPVUJ[]O+F=GEH3>GZ3PPNAY*
M;GX#4$L#!!0    ( ".!_DRG&%GW! (  &X%   9    >&PO=V]R:W-H965T
M<R]S:&5E=#0R+GAM;'54VXZ;,!#]%<1[U\&$2R*"M-FJ:J56BK9J^^S $-#:
MF-I.V/Y]?6$I)=X\Q/;XS#EG;#S%R,6+; %4\,IH+P]AJ]2P1TA6+3 B'_@
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
MB?VR^TC8'=3%3GX =0Y?81?_ U!+ P04    "  C@?Y,+/GN@@D"  !M!@
M&0   'AL+W=O<FMS:&5E=',O<VAE970T-2YX;6R-5=N.FS 0_17$!ZRYDXT
MJ4FU:J56BK9J^^S $- :S-I.V/Y];4,0 6>5%WSAG,.9&7M(>LK>> 4@K(^&
MM#RU*R&Z+4(\KZ#!_(EVT,HW)64-%G+)3HAW#'"A20U!GN-$J,%U:V>)WCNP
M+*%G0>H6#LSBYZ;![-\.".U3V[6O&Z_UJ1)J V5)AT_P"\3O[L#D"DTJ1=U
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
M4 *3J3\=4+IS =&ZP%<=U3L3>#:5STS7SXAJ&A&,3LCTQ-D1C,Q&G':3[HU
M-#50>U('&LZEZ9Z#C(70O1&(I@9JXZ- .#4/W?J Z'VH]@<2-+'G +JE ='3
MT*$ID.X=:-^_GT2Z*"-1E%'="9(@-C$/7161J(HX45F0KF#X'[MGI(L3$OM5
M5-<LZ@4";2<(F+K3CNY!CF71I02)4H*!.AD%4C=UUN 0F/'BU)SY2V,OKGE5
MAVXPVG]7>&A.G<KX%I;/0(Q'L-RUA\Y_].U'C,]Q<4KRTG@5E3RZ-@?,HQ 5
ME]KMA=1^YO&A?TCYL:IO?7E?M!\/VH=*7+H/(U;_=6;S%U!+ P04    "  C
M@?Y,@>1#JA<#  !L#   &0   'AL+W=O<FMS:&5E=',O<VAE970T.2YX;6R-
MEVUOFS 0Q[\*XOT 'S8/51*IZ31MTB95G;:]IHF3H )FV$FZ;S]C""/F+.U-
MP<[Y?G?V_<UU=17=FSQQKKSWNFKDVC\IU3Z$H=R=>%W(0+2\T;\<1%<72@^[
M8RC;CA=[LZBN0HBB)*R+LO$W*S/WW&U6XJRJLN'/G2?/=5UT?[:\$M>U3_S;
MQ$MY/*E^(MRLVN+(OW/UHWWN]"B<O.S+FC>R%(W7\</:?R0/6TCZ!<;B9\FO
M<O;N]:F\"O'6#[[LUW[41\0KOE.]BT(_+OR)5U7O2<?Q>W3J3\Q^X?S]YOV3
M25XG\UI(_B2J7^5>G=9^YGM[?BC.E7H1U\]\3(CYWIC]5W[AE3;O(]&,G:BD
M^>OMSE*)>O2B0ZF+]^%9-N9Y'?W?EN$+8%P TX(X-;D,(!/YQT(5FU4GKEXW
M;'Y;]&=,'D#OS:Z?-%MA?M/!2SU[V= X6H67WM%HLQUL8&9#)HM0>Y\0@"&V
ML%A.8X>#&(TQ-@[B.P> .Z"H VH<T#L'L97D8,.,33,D"2DD.(:A&(9@J(5A
M"PP0DN.4!*4D"(59E&1!^9!ECCU/44J*4!*+DBXI<1KCE RE9/]Q,-GR8&*6
M.Y+)44R.8%(+DR\P-'5M&8EP+44()[/%%"&%1M+407*HEB"2<%01057Y2& 9
M+%TH?S#*YN7* J .$BY?$B,D8I,&(Y+.4"P)(D<Y$5SH!%$Z!1M%ERB2!)GC
M2B&XV FB=FK7[FATAXHA2#('"E<\022_/*H$046!LRIPV1-$]]2^PT:C^PW,
M@]R5%:Y]@HB?VA?9:'17@'G@.BE<_21?BH4Z+G; E0V(LJE]@Z!&CCT!7-=
M$!>YS4&,6.3@X.('1/S,EB1JY-AZP*4/R*>;.20-N*0!D32S*W(TFA<D0,P(
M<Z!P20,B:697)"R_X$1?WXGC @=<TH!(FMG?U]'H+BL2Y8F=53AK]FK>'4V;
M*[V=.#>FQY[-3JWT(YAF\9_YT(=_*[ICV4CO52C=<IK&\""$XCJ<*- YGW3K
M/PTJ?E#]:ZK?NZ'_'09*M&-O'T[_8&S^ E!+ P04    "  C@?Y,?8ROS$P"
M   !"   &0   'AL+W=O<FMS:&5E=',O<VAE970U,"YX;6R-5>V.FS 0?!7$
M QS?X1H1I".A:J56BJYJ^]LAFX#.8&H[X?KVM0VAX+@T?V)[F1GOK!UOTA'Z
MQDH ;KW7N&$;N^2\73L.*TJH$7LB+33BRXG0&G&QI&>'M13049%J[/BNNW)J
M5#5VFJC8GJ8)N7!<-;"G%KO4-:*_,\"DV]B>?0N\5N>2RX"3)BTZPS?@W]L]
M%2MG5#E6-32L(HU%X;2Q7[QU'DN\ ORHH&.3N26=' AYDXO/QXWMRH0 0\&E
M A+#%;: L102:?P:-.UQ2TF<SF_J'Y5WX>6 &&P)_ED=>;FQGVWK""=TP?R5
M=)]@\!/9UF#^"UP!"[C,1.Q1$,S4KU5<&"?UH")2J=%[/U:-&KM!_T8S$_R!
MX(\$/UHD! ,A>)00#H3P44(T$"*-X/3>53%WB*,TH:2S:'\=6B1OG;>.Q'$5
M,JA.1WT3]60B>DW#*$Z<JQ0:,%F/\2<8WY]#=O<0;T0X(H$Q"]^41>;?[Q#,
M=]@:(*&6Q/]5\D656:*!L5R!X@=3G_$_!$*C0*@$PEF]G[5ZFS ?M'(8,"M7
MJ\<#.OFRSLQ09#04W0NXVNW(3!C]?$T8_8 ?T,F7=6:&5D9#*T-%/,V0":.9
MWIHP6K*[!W3R99V9H=AH*#8(:)7-3)A(,V3"K#1#)HSVG.3+F-Z0,WF_:J!G
MU4R859!+P^7_;Q(=^]6++]\_+9YYZZUGB.]$?^O;T5_YOCE^1?1<-<PZ$"Y>
M7?4VG@CA(%)WG\3M*D4_'A<83EQ.8S&G?5?J%YRT0\-UQJZ?_@%02P,$%
M  @ (X'^3#] +(9N @  NP@  !D   !X;"]W;W)K<VAE971S+W-H965T-3$N
M>&ULC59=CYLP$/PKB/?&F.^<"%)R5=5*K11=U?;9(4Y !YC:3KC^^]J&4 X6
ME9=@.[,S.PO+DK2,OXJ<4FF]564M=G8N9?.$D,AR6A&Q80VMU3\7QBLBU99?
MD6@X)6<35)7(=9P05:2H[30Q9T>>)NPFRZ*F1VZ)6U41_N= 2];N;&P_#EZ*
M:R[U 4J3AESI=RI_-$>N=FA@.1<5K47!:HO3R\[>XZ<#CG2 0?PL:"M&:TM;
M.3'VJC=?SCO;T1G1DF924Q!UN=-G6I::2>7QNR>U!TT=.%X_V#\9\\K,B0CZ
MS,I?Q5GF.SNVK3.]D%LI7UC[F?:& MOJW7^E=UHJN,Y$:62L%.;7RFY"LJIG
M4:E4Y*V[%K6YMCW_(PP.</L =PCP3'%0)V0R_T@D21/.6HMWQ6^(OL?XR56U
MR?2A*87Y3R4OU.D]]<,X07=-U&,.'<8=8?" 0(I]D' AB8,["_>]!0(/S-$S
M!-X[ A<F\$$"WQ#X[TQN)R8[3& PM<&X#JP1@!K!7,/S)QK!3&-!(@0EPKE$
MY$PDPIG$AR4?$2@2 3["B4BTUD<,2L0K;D>\5F(+2FSGCTRT\,QA!VX,!ZBV
M.^V,#A2/TL31QO$6E!9:$,^5?#Q5PFL+@L$NW&,7\.--53J0>LVN,P3W*_8
M0S,I;[4AN*DQT-7S&]2!HA4J<%OC8/XD!4OE@-L60WT[?37TH'&BV^V2#MRY
M&&C=*)CJ1/\M"!K-CHKRJYF:PLK8K38C>W0Z3.:]:V;//W@WUK\1?BUJ89V8
M5!/,S)D+8Y*J3)R-JFRNOB2&34DO4B\CM>;=..TVDC7]IP(:OE?2OU!+ P04
M    "  C@?Y,="^\7Z\"  "H"0  &0   'AL+W=O<FMS:&5E=',O<VAE970U
M,BYX;6R55MN.VR 0_17+'[ VV 0[2B+E5K52*T5;M7UF$Y)8:QL72++]^P)V
MO Z0;?H28'SFS,R!P$PNC+^*(Z4R>*O*6DS#HY3-.(K$]D@K(IY80VOU9<]X
M1:1:\D,D&D[)SCA5903C>!15I*C#V<38-GPV82=9%C7=\$"<JHKP/PM:LLLT
M!.'5\%P<CE(;HMFD(0?ZG<H?S8:K5=2S[(J*UJ)@=<#I?AK.P7@-$NU@$#\+
M>A&#>:!+>6'L52^^[*9AK#.B)=U*34'4<*9+6I::2>7QNR,-^YC:<3B_LG\R
MQ:MB7HB@2U;^*G;R. VS,-C1/3F5\IE=/M.N(!0&7?5?Z9F6"JXS43&VK!3F
M-]B>A&15QZ)2J<A;.Q:U&2\=_]7-[P [!]@[J-@?.22=0_+ND'[HD'8.Z:,1
M4.> K A16[L1<T4DF4TXNP2\/0\-T<<.C)':KJTVFMTQWY2>0EG/LQ2/)M%9
M$W6818N! PR$MY"5"P$](E()]%E 7Q8+Z$9(;B,L/9#42N+?+.L/66X23;QR
M)<8_N9$+^PE2+T%J"-*A4#&R]&XQV&!J@\GCV%)\Z8)PEEH[MW)!$(+<0JU=
M%$ )S/UE(6]9R"DKQ9F?8.0E&#TN+/82X >$;3%H4"A"V-+5Q:3(/F@N!B0V
M:.V"LNS.6<N\%64>3>]L2NXER!_7%,3^VR%^0-4.-*PT ;8<2P\*8H#L>\1%
MX7R46])Z4.K HCNEW;GX@"MO%M^A\-Y:<P#_0V#_?0*21P1.G#\H@CFP!791
MZ0AC6V 7!6"&[7O2 \L!M.6)!J],1?G!//DBV+)3+;4N VO?5LRA?J4L^P*,
ME\!C7^DVQ+QJ[_1M#_.-\$-1B^"%2?4VFA=LSYBD*OGX21V,HVJ;^D5)]U)/
ML9KSMG=H%Y(U75\4]<W9["]02P,$%     @ (X'^3)?EBO>N @  0@H  !D
M  !X;"]W;W)K<VAE971S+W-H965T-3,N>&ULE5;M;ML@%'T5RP]0 _ZNDDA-
MHFF3-JGJM.TW34ABU38>D*1[^P&FCF-?1VE^Q(#O/8=SX1AF9R[>Y($QY;U7
M92WG_D&IYC$(Y.; *BH?>,-J_6;'1465[HI](!O!Z-8F565 $$J"BA:UOYC9
ML6>QF/&C*HN:/0M/'JN*BG]+5O+SW,?^Q\!+L3\H,Q L9@W=LY],_6J>A>X%
M'<JVJ%@M"UY[@NWF_A-^7!-D$FS$[X*=9:_M&2FOG+^9SK?MW$=F1JQD&V4@
MJ'Z<V(J5I4'2\_CK0/V.TR3VVQ_H7ZQX+>:52K;BY9]BJPYS/_.]+=O18ZE>
M^/DK<X)BWW/JO[,3*W6XF8GFV/!2VG]O<Y2*5PY%3Z6B[^VSJ.WSW+Y)8I<&
M)Q"70+H$?#LA= GA)2&ZF1"YA&B0$+12;&W65-'%3/"S)]KE;:C91?@QTM7?
MF$%;;/M.ET?JT=,BRO L.!D@%[-L8T@OYA(1:/2.@D 42S)*)^$UPVH<$F7D
M.F8-Q83P/$)0:F@!PBN " :(0(#( D17 /&@5FU,:F/JME8$ARA#",%4,4@5
M U0)#)"  ,G]8E,0( 5FD Z6)!V+1>X'4V4@509098.ZMC%QGRJ-)@3E($L.
ML.0#EORS@C""787&9#D:V@J--&5H8D?C"??B.[:D"^JKBF)R2Q3HXR=, %$3
M7P(,6Q!_PH,8-B&&7#C8F"L,V#"^O9"P#S%@Q/%"QN/-&<=3*PG[%2?WK&0R
MDI4F^,;'!</>QH"Y<S(D2T>JTC#+R309[&X,V#N?*@YL79S?OVT([$@".')4
M7Q=TS]<[Z!VP%1-[>WF1WH8?:WMSZHUV%Z0G8@_H2WA[N_I!Q;ZHI??*E3[F
M[6&\XUPQ/2/TH,M_T!>ZKE.RG3+-5+=%>ZMI.XHW[L86=-?&Q7]02P,$%
M  @ (X'^3+LI(L>@ @  >PH  !D   !X;"]W;W)K<VAE971S+W-H965T-30N
M>&ULC5;;CILP$/T5Q <L]]Q$D)9+U4JMM-IJVV>'. $M8&H[R?;O:QO"!C.B
MO 1[.'-FCC-F)KP1^LX*C+GQ45<-VYL%Y^W.LEA>X!JQ)]+B1KPY$5HC+K;T
M;+&68G143G5EN;:]LFI4-F84*ML+C4)RX579X!=JL$M=(_HWQA6Y[4W'O!M>
MRW/!I<&*PA:=\4_,W]H7*G;6P'(L:]RPDC0&Q:>]^>SL,L>6#@KQJ\0W]K V
MI)0#(>]R\^VX-VV9$:YPSB4%$H\K3G!522:1QY^>U!QB2L?']9W]BQ(OQ!P0
MPPFI?I='7NS-C6D<\0E=*OY*;E]Q+R@PC5[]=WS%E8#+3$2,G%1,_1KYA7%2
M]RPBE1I]=,^R4<];SW]W@QW<WL$='$3L.0>O=_ ^'?Q9![]W\)=&"'J'0(M@
M==K58::(HRBDY&;0KAY:),O.V07B[\JE4?T[ZITX3R:LU\C?^J%UE40])NXP
M[@/&=<>0= IQ!H0E$ABR<*$L8G<:P1M'2 "(EF?Z?Y9LEF64J <>EZ?\O4>=
M&QLF\$$"7Q'XH_,.M/.&,"OM."#,6CN/!3S9/,](4  *"@""C28(PFPU05-,
M8-N:H 4\V3S/2- *%+0""!Q-$(31KD0"8;1R3!?P9/,\(T%K4- :(-"O.(31
MRC)9@$D78+)YS$C0!A2T 0BTNHXAC"X(PNAW",)HY9U!F"TL: L*VDX('$<K
ME7B*F=ZA*69ZAQ9@LGG,2) 8$L"V8D\I'"U,#(*TJY: H$G[@4#ZMQ\"30K/
M>FB<-:9G-<4P(R>7ALL/_X-UF)2>7=EX-7OL[!('L*=RLE*-^I.^&\M^('HN
M&V8<"!?M7C7E$R$<B]SM)_%9*\0D.&PJ?.)RN19KVHU#W8:3MA_UK&'>C/X!
M4$L#!!0    ( ".!_DS]3.__5P,  *T/   9    >&PO=V]R:W-H965T<R]S
M:&5E=#4U+GAM;)57[6Z;,!1]%<0#%&QC/JHDTIHVW:1-JEIM^^TF3H(*. ,G
MZ=Y^!EP&]B6A?PIVSCWW'IM[7,_.HGRK]IQ+YSW/BFKN[J4\W'I>M=[SG%4W
MXL +]<M6E#F3:ECNO.I0<K9I@O+,P[X?>CE+"W<Q:^:>RL5,'&66%ORI=*IC
MGK/R[QW/Q'GN(O=CXCG=[64]X2UF![;C+US^/#R5:N1U+)LTYT65BL(I^7;N
M?D&WCSBJ QK$KY2?J]Z[4TMY%>*M'GS;S%V_KHAG?"UK"J8>)[[D658SJ3K^
M:%*WRUD']M\_V%>->"7FE55\*;+?Z4;NYV[L.AN^9<=,/HOS5ZX%4=?1ZK_S
M$\\4O*Y$Y5B+K&K^.NMC)46N650I.7MOGVG1/,^:_R,,#L Z '<!*+@80'0
MF1H0Z(!@:@#5 ?1_0'PQ(-0!X=0,D0Z(C "O7=UFN^Z99(M9*<Y.V7YQ!U9_
MV.@V4A_$NIYL]K_Y3>U8I69/"XJ"F7>JB33FKL7@ 88.,4L;@\D0<@] C$P/
MUUE6UUD>;4B(.XBGEJ-;$PRN"6[BR4!O"!,0D( T!$&/($C,!8,PH;%B$"8R
MEFP"S^HRST!0  H*+ **C$*6$"8V!$&8Q! T@6=UF6<@B(*"J$V ?4,0@/$-
MS#V 0=@0!.5"AB (,_+-AJ"@$" P6F?98J(&4S28.#)7_S)F4$@$%A(!A9AM
MWF)H+PDB(PT6@TEB((G98+&5) ZPV3U70(-2$K"4!"C%Z+]E8F6)2&*N_!30
M8V)M3QC$,5PO\F'']X&*S6;6H,$6^=AHPX=KJ&$Y(P<0 LJ)S7*0I3NQ#P]D
M5=,'#8N!G1]AH!ASHS1HH!KUG&&8"#XAD&W)E/AF(F*I1G@T$>S<"+!*@LQ$
M$&C$?A!LJ AP,$+,/!!H;(=@GT. T1$Z0@$[%(JFG^\(]A]D&Y!UPC\ (#IF
M<P@V%P2X"QFQ)PRW._:GJ\5PBV*[16VU (B2$2O (_]W =U'1@X?#/<5)I]0
M"W<,MIL!4 N!QO+ '8.!9@A&FAO#S8##3ZB%FP$#YW5@^,.=!O6-B"8A,A)Y
MO3M'?9']P<I=6E3.JY#J^M)<,K9"2*X8_1LE?J_NSMT@XUM9OT;JO6POD.U
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
MPIWV2EEPO'SE@(-[M$O H;=^>N/F.GZZ,;!JG%\E7OX:FD]02P,$%     @
M(X'^3(/KZXS/:P  ^;0! !0   !X;"]S:&%R9613=')I;F=S+GAM;,V]:7/;
M2)8H^GGNKT#XJ::E"%!-@+MK[D2H9+O:/:XJC^WJ>AT3\P$B(0E=%*$!2,OJ
MN#_^GBTS3R(3).6E^T9TERD2R.7DR;,O_]:VV^33W7K3_N]GM]OM_?,__K%=
MWI9W17M>WY<;^.6Z;NZ*+?S9W/RQO6_*8M7>EN7V;OW'?#B<_O&NJ#;/DMVF
M^I]=>5GO-MO__6PRF3[[]W]KJW__M^V_OZB7N[MRLTV*S2IYN=E6V\?D]8;'
MK.K-O_UQ^^__]D=\E!^?)C_5F^UM"X^NRE7WUS_OUN?),$N3?)C-V]NB*=ON
M(W:^B^A\R7]=7+7;IEAN_[O[ICS\KKRI\ D8XN?BKNP^=?G+CS^__/^3RU_>
MO>T9X!)F;XHUS+HJ/R7_43X&0^R:!E?XJFJ7\-Q?RZ+![28OBFTPW6"0Y8-1
MUC/5JVI=-LDEO'=3-\$\;XKFIDPNELL2GH)G5OQ\+\0^/-X'\V?#P7_VOO"V
M;*IZU;MV.JTL_5__\B]X7+VC:#"\@B_[CU2>E&FCS_YGWOWF EY=\>OKXJ;[
MZW6Q;H.%FX.L[^X 8]YOZ^7O:?*>T"WY9;=MMX#+U288Z[+>M/6Z6A&HWV_A
M'YRV3>KKY)=[/ ' OS89)+^^?Y&<GIPEC,!)M4D^W-:[%@9MT^3$^[L[Q>CX
MZQ'_,:<?9]T?7V^6]5WI%KWGFKPK/Y:;77@O:J CL-,F_O./3=VVR1U@9!7<
M^7=E"V>_O$V3%;R\KN]Q!2D1C'(#SY=PWIN;I/P$]*@-;_S[<KV&W]/DIMP
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
MP%$G!=C  I<E/#8^0WI7+]E\$GW*,)>>N;^GRW,Z.;/GCR,9#'B JYZ<(@L
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
M8)3,0+*CC?*P_@-1AK04R6Q7!N%M\=C&\BAWVD;\FD CS)VD2?(S/FI^C;0
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
MC?0]9>R!/7-S$Z?3B2M@@",9#* V?Z>HY+9G>W> ! ^-+2WJ(.?2)]UM_#(
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
M_;/K'QU)%6N""CR555]-SVP6\:J2#@R%*5D>&EYQQ:GQ21G&W &? $2HEMN
M6:!0\@;NB1W!A'X&+TG.7[?JD]=O5=X5CMYZG *[[)['L3R2$#$"YNGNANX6
M.4A^HMQ;6^U>E+XW9*M2K#8;>4QFK?-B+/9CI!8EZ-BYA+I;5WC$*[O5';9,
M=*L*F3M=E5=H;S*9YF<FO-Q>+CIH=[E*E+\WME.E\;Z8PF^:"V$P88NK]B.<
M"J-$8O>-"*%-*-@8S5-EL4JM=X1,P<AY72UA>4E[8A!V5H51\^"!JJ+FJ;>G
M*Z!RJW+3"EHI\<#,R8T!C*R94(8QE7FRNH?:DEE/U\N_XV Z5<6 3"9L\S.=
M+DPG0K6,0T?BDJ@Y'L?MF?12TT=C  ,.R(/?.7/D"*X05\%J*!)?HF=-L;7I
M,T19'Y#%#E;8/MF:Z E&1#21NY [KC;QA,8+QW&JWO)4LQ9QASG4?#*_A4OT
MI?QV\1G\UHJ)3M\S[/7(3*%X@I!E$EZ.$/.?AE+J.IY$+[S<04B!Q*/A-LZ!
MKXL'1^R12;87I_$9&XCG7.@IA_"9M'0V&(+ \^R=ZH\ZP J90 & 2A!6O2I%
M8..,,FJ= P^]!1);[>[0E^\:R:-+U):'N@2$IA%>(.ZKRAJ6"N/L1U!ANF1$
MU#@)VM[(I9FA>[OX#3%EN5*8E!?)S>\XED'8J+*;F+1:LM_1V)+U0)V;K<T4
M< 87O:4EL$QQ*J^FHHXR? X2=T#A9BO^HT+#4E",S%+B/^C=+Z4?ZVG/D_?&
M]&T+Z*LUZ!H0\H814RVPC.<_V&FP(_$4F$']B@HJ7B2Z8&IT!<]^S]*9_&4%
MP3:V+NDV^WB>_!JPLM1LR%T)Z<BW!WZNO1 %XG1A8.:3[9.CH]C&A^.2"38<
M??U(CTE8D"';3*:1LC/WTCV#=ALWOSW-_3C$5C",'">S&E5[ZD$G"BF,PD>L
MI\NM=9;8W/D5ET2A8K5HR2'":&(XX "X'8B#YSX^XN_"(P1-^55925"=Q3 5
M&59:1NT?-!_N93=DA.Y1Y9C0?)W4U7[.Y,[5*#VID>9Z?U>8V%%4C9M&<1(Q
MV)#$90OY:,G?!(]CPP",I+7*E]2PJ+;D0'>"F7M :O]KUG\,PR1T^6<QS PM
M=[I_'@YD.N8-D@]8+PBOS.L[!*:)VZ[U\(C;YHT+&XFIV&*6'\L62:]T6GJW
M@313CJ"MM*>C1M0![!.$9E1+V_D<E>#)N'*/=U_I&818IHDNN[PLYIJ>UU3]
MJ+SQ+!7=P[%>$B;(:)RKEN@_@VEIN61C=K<=2-KV()'$T'?#2;?FE*K.*;74
M].1:[!W.%:IWX8'22'UH!6KKE!=]56Z1ECA2C'$,7A<.%7^[646+,YA^X'Q>
M4L'IMKIW)$55LZ*"-!E'3IF@"N/^O5,*L951<73D.A+3'Y^($LG.C)30:LL!
MPT&.^#/H/6)X'[T/"?<3C7:]E#^N3NPA6[U4Z[%#MF1ANOP6[IYQCV((M;DM
ML!&96DEM3*6I>XZG_&0ZS&P\TY99J=0=X0LKXS*9.,",5 B,L3U8YXZ)U;_S
MS2RJCREEK7&DR3$=5[F/(B8B<7"\ %NK:C@QI@231=G5A7VB!N<J/;#UQM(R
M@E<;P59%/A1U*5?^;>A4Y=-JH&6M%(]T[X0#+!)R#)^#:_+/X7/SP3!##Q55
M001UCI;YUOKS7QI_/MW;#ZI&9>U<$9:AX6":H5D61F=/!9Y*F<.PM4_4^M1U
M<9 8_- B9:\EG+/RF;GTD%L;$DR'[7(-& S:^^(OA*(JE6?"C#X\Q&EBS+(T
M!K68]3T2)\%5*;:F[%K964/^)*BY[>\'FW#=0J4$WZ.)N=ZU2#2Z7O0^Z%QL
M?(>=R7BDL+APIQYE8EX3/N0:R[&,+,$#%!5NR:#;> PZ7[2G7[C678=D*(2K
M@HW E/R[=^_-XM%K<$H1#*P\G 5KUDX-XZ/>^A&<FEN$,0ZTE^ X'*UAT?'
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
ML6<C\AW@WW/T),"_B^E0R !9Q"KL/O6Q[$B)H!K,D"0N)AC-,@&V"I_'XR0
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
M</@S$RMH,6L@W( 0N"O!:6Q*.C&S= 8BH3M=*U,<&2BF#!1S&V@H%)J)VQS
MH7,Q)F6@F-E 8\%0WYU'O4D9*&8VT CF3#PT-4!A3')_A=E HYC]2,*8E(%B
M9@.-]^9F<QQVQ)2!XDE298#9%V!,RD#QE#FS&!LHI@P4_XV<V2@F-E!,&2B>
M<MF3X&5/0ADH8380C1EB3,I""7=RC<2,,"9EH80[U3:2S_WE(8Q)62AAME"_
MUIT!:%K9U!2F[TN(COZSIL:;J@EEH8390K^6Y*\5GI!;^]R;,F-+\IX38U+2
M29BE,X8)H9LJ4JSPA)).PBV=/[/F@Q%P0@DGZ80S/[P*E>F-L3K[!,U[^#Z%
M7_OH1/O1;]'&2;NELFF*HNV(!_NA4MW+2VT;A_>NKG\"4$L#!!0    ( ".!
M_DPU TT!"0(  #,C   :    >&PO7W)E;',O=V]R:V)O;VLN>&UL+G)E;'/%
MVLUNVD 4AN%;0;Z #'-^2%*%K++)MND-6#!@%+ MSU1-[KX.FSI2XJ\+]+$!
M(= Y[^J1-</#SW2LRZ%K<W/H\^+M=&SSNFI*Z7^$D#=-.M7YINM3.WZSZX93
M7<:/PS[T]>:UWJ<@R^4J#-,9U>/#=.;B>;NNAN=MK!:_ZF&?RKH*;\?PIQM>
M<Y-2R>'\%F_&!>-/WOOT/^N[W>ZP24_=YO<IM>6+BG\+JO!UD,P'"3U(YX.4
M'F3S048/\OD@IP>MYH-6]*#;^:!;>M#=?- =/>A^/NB>'A270,8E/PEAS=<Z
M JXCW^L(P(Y\L2,@._+-C@#MR%<[ K8CW^T(X(Y\N2.@._+MC@#OR-=;@-["
MUUN WG*%9VWTL,W76X#>PM=;@-["UUN WL+76X#>PM=;@-["UUN WL+76X#>
MPM=;@=[*UUN!WLK76X'>>H6S$G18PM=;@=[*UUN!WLK76X'>RM=;@=[*UUN!
MWLK76X'>RM?;@-[&U]N WL;7VX#>QM?;@-YVA;-N=-C-U]N WL;7VX#>QM?;
M@-[&U]N WL;7VX#>QM?;@=[.U]N!WL[7VX'>SM?;@=[.U]N!WGZ%NTIT6<G7
MVX'>SM?;@=[.U]N!WL[7VR=ZYZ8>TO:E#(=VGR]=\FGXMY?>$[AS>3^FRV><
MIWZ[?Z)T&;>D<'Z]N,WGJ1\1X=-_9![_ E!+ P04    "  C@?Y,F^CEY-\!
M  #0(@  $P   %M#;VYT96YT7U1Y<&5S72YX;6S-VEU/PC 4!N"_0G9K6.D7
M?@2X46_51/] W0YL85N;MB#^>[NA)AI,-$+RWC"VTYWS;C3/%;.G5T=AM&N;
M+LRS*D9WQ5@H*FI-R*VC+E66UK<FIE._8LX4:[,B)B:3*2ML%ZF+X]CWR!:S
M&UJ:31-'U_OK?>MY9IQKZL+$VG9LVY7?FH[?&^:>FF%-J&H7SM*";'2[2UU"
MNC;/4C5D[!<3OM_8GZ?[[K?D?5W2GZ+9Y;(NJ+3%IDVWY,%Y,F6HB&+;Y*$R
MGLK'Z.MN]9[WP?AX9]K4F.T:]F5!?KH<\;6APP&&RC$GQ[0MZ-"HH;#_Y/\:
M^+$;"NMI['RJ^E@?>+P4Z2%5 ^L7'O,1J=\Z)96_&IY:G^Z'?;%^/7P_],(_
MBX$-A_^]]>/E$" Y)$@.!9)#@^28@N0X!\EQ 9+C$B0'GZ $01&5HY#*44SE
M**AR%%4Y"JL<Q56. BM'D56@R"I09!4HL@H4606*K )%5H$BJT"15:#(*E!D
ME2BR2A19)8JL$D56B2*K1)%5HL@J4625*+)*%%D5BJP*15:%(JM"D56AR*I0
M9%4HLBH4616*K I%5HTBJT:15:/(JE%DU2BR:A19-8JL&D56?4)9AV/>FKK[
M*<FSM>N/^6SX(\OB#5!+ 0(4 Q0    ( ".!_DP?(\\#P    !,"   +
M          "  0    !?<F5L<R\N<F5L<U!+ 0(4 Q0    ( ".!_DQF\PM@
M@@   +$    0              "  >D   !D;V-0<F]P<R]A<' N>&UL4$L!
M A0#%     @ (X'^3)+B[![N    *P(  !$              ( !F0$  &1O
M8U!R;W!S+V-O<F4N>&UL4$L! A0#%     @ (X'^3)E<G",0!@  G"<  !,
M             ( !M@(  'AL+W1H96UE+W1H96UE,2YX;6Q02P$"% ,4
M"  C@?Y,NZ\.A$0"  !;!P  &               @ 'W"   >&PO=V]R:W-H
M965T<R]S:&5E=#$N>&UL4$L! A0#%     @ (X'^3#4[E2)<!   U1,  !@
M             ( !<0L  'AL+W=O<FMS:&5E=',O<VAE970R+GAM;%!+ 0(4
M Q0    ( ".!_DR8@1J,60,  -@-   8              "  0,0  !X;"]W
M;W)K<VAE971S+W-H965T,RYX;6Q02P$"% ,4    "  C@?Y,M\?&T#X"   9
M!P  &               @ &2$P  >&PO=V]R:W-H965T<R]S:&5E=#0N>&UL
M4$L! A0#%     @ (X'^3&^[%U5<!   H!0  !@              ( !!A8
M 'AL+W=O<FMS:&5E=',O<VAE970U+GAM;%!+ 0(4 Q0    ( ".!_DQ-PNW3
M_@$  (8%   8              "  9@:  !X;"]W;W)K<VAE971S+W-H965T
M-BYX;6Q02P$"% ,4    "  C@?Y,=5JC_, $   L%P  &
M@ ','   >&PO=V]R:W-H965T<R]S:&5E=#<N>&UL4$L! A0#%     @ (X'^
M3(5+Z2!/ P  W T  !@              ( !PB$  'AL+W=O<FMS:&5E=',O
M<VAE970X+GAM;%!+ 0(4 Q0    ( ".!_DPE/T,?"P(  (L%   8
M      "  4<E  !X;"]W;W)K<VAE971S+W-H965T.2YX;6Q02P$"% ,4
M"  C@?Y,F/"2'[0!  #3 P  &0              @ &()P  >&PO=V]R:W-H
M965T<R]S:&5E=#$P+GAM;%!+ 0(4 Q0    ( ".!_DPW0Z2\L0$  -,#   9
M              "  7,I  !X;"]W;W)K<VAE971S+W-H965T,3$N>&UL4$L!
M A0#%     @ (X'^3#MX72BU 0  TP,  !D              ( !6RL  'AL
M+W=O<FMS:&5E=',O<VAE970Q,BYX;6Q02P$"% ,4    "  C@?Y,+:SUR[4!
M  #3 P  &0              @ %'+0  >&PO=V]R:W-H965T<R]S:&5E=#$S
M+GAM;%!+ 0(4 Q0    ( ".!_DQU4HTQM@$  -$#   9              "
M 3,O  !X;"]W;W)K<VAE971S+W-H965T,30N>&UL4$L! A0#%     @ (X'^
M3#:GGQ&U 0  TP,  !D              ( !(#$  'AL+W=O<FMS:&5E=',O
M<VAE970Q-2YX;6Q02P$"% ,4    "  C@?Y,@Q>VA;4!  #3 P  &0
M        @ $,,P  >&PO=V]R:W-H965T<R]S:&5E=#$V+GAM;%!+ 0(4 Q0
M   ( ".!_DR.*NQSM0$  -,#   9              "  ?@T  !X;"]W;W)K
M<VAE971S+W-H965T,3<N>&UL4$L! A0#%     @ (X'^3,(A&@^U 0  TP,
M !D              ( !Y#8  'AL+W=O<FMS:&5E=',O<VAE970Q."YX;6Q0
M2P$"% ,4    "  C@?Y,CV">[;4!  #3 P  &0              @ '0.
M>&PO=V]R:W-H965T<R]S:&5E=#$Y+GAM;%!+ 0(4 Q0    ( ".!_DP/@PL9
MM0$  -,#   9              "  ;PZ  !X;"]W;W)K<VAE971S+W-H965T
M,C N>&UL4$L! A0#%     @ (X'^3#EMIJZS 0  TP,  !D
M ( !J#P  'AL+W=O<FMS:&5E=',O<VAE970R,2YX;6Q02P$"% ,4    "  C
M@?Y,1VTB#[4!  #3 P  &0              @ &2/@  >&PO=V]R:W-H965T
M<R]S:&5E=#(R+GAM;%!+ 0(4 Q0    ( ".!_DP[!8VZR $  #@$   9
M          "  7Y   !X;"]W;W)K<VAE971S+W-H965T,C,N>&UL4$L! A0#
M%     @ (X'^3%5/M!O" 0  . 0  !D              ( !?4(  'AL+W=O
M<FMS:&5E=',O<VAE970R-"YX;6Q02P$"% ,4    "  C@?Y,HRG6S^,!   "
M!0  &0              @ %V1   >&PO=V]R:W-H965T<R]S:&5E=#(U+GAM
M;%!+ 0(4 Q0    ( ".!_DQ[R2<-N $  -,#   9              "  9!&
M  !X;"]W;W)K<VAE971S+W-H965T,C8N>&UL4$L! A0#%     @ (X'^3,R:
M24?& 0  . 0  !D              ( !?T@  'AL+W=O<FMS:&5E=',O<VAE
M970R-RYX;6Q02P$"% ,4    "  C@?Y,XNV0AK@!  #3 P  &0
M    @ %\2@  >&PO=V]R:W-H965T<R]S:&5E=#(X+GAM;%!+ 0(4 Q0    (
M ".!_DR YDD_W@$   (%   9              "  6M,  !X;"]W;W)K<VAE
M971S+W-H965T,CDN>&UL4$L! A0#%     @ (X'^3$.M<FW= 0   @4  !D
M             ( !@$X  'AL+W=O<FMS:&5E=',O<VAE970S,"YX;6Q02P$"
M% ,4    "  C@?Y,#7&:QK0!  #3 P  &0              @ &44   >&PO
M=V]R:W-H965T<R]S:&5E=#,Q+GAM;%!+ 0(4 Q0    ( ".!_DR'3$'MN0$
M -,#   9              "  7]2  !X;"]W;W)K<VAE971S+W-H965T,S(N
M>&UL4$L! A0#%     @ (X'^3%<3)(Z@ P  4!,  !D              ( !
M;U0  'AL+W=O<FMS:&5E=',O<VAE970S,RYX;6Q02P$"% ,4    "  C@?Y,
M,*O(\8("  #F"   &0              @ %&6   >&PO=V]R:W-H965T<R]S
M:&5E=#,T+GAM;%!+ 0(4 Q0    ( ".!_DS!7A=^, (  '(&   9
M      "  ?]:  !X;"]W;W)K<VAE971S+W-H965T,S4N>&UL4$L! A0#%
M  @ (X'^3-"ZP1K& P  :Q$  !D              ( !9ET  'AL+W=O<FMS
M:&5E=',O<VAE970S-BYX;6Q02P$"% ,4    "  C@?Y,$]WC\$T%  #:(0
M&0              @ %C80  >&PO=V]R:W-H965T<R]S:&5E=#,W+GAM;%!+
M 0(4 Q0    ( ".!_DP1;/O//P0  #T7   9              "  >=F  !X
M;"]W;W)K<VAE971S+W-H965T,S@N>&UL4$L! A0#%     @ (X'^3$7' <N)
M!   "!H  !D              ( !76L  'AL+W=O<FMS:&5E=',O<VAE970S
M.2YX;6Q02P$"% ,4    "  C@?Y,@QF&.@ "  !V!0  &0
M@ $=<   >&PO=V]R:W-H965T<R]S:&5E=#0P+GAM;%!+ 0(4 Q0    ( ".!
M_DQ:D>P7\@,  * 4   9              "  51R  !X;"]W;W)K<VAE971S
M+W-H965T-#$N>&UL4$L! A0#%     @ (X'^3*<86?<$ @  ;@4  !D
M         ( !?78  'AL+W=O<FMS:&5E=',O<VAE970T,BYX;6Q02P$"% ,4
M    "  C@?Y,^1KIT_L!  "D!0  &0              @ &X>   >&PO=V]R
M:W-H965T<R]S:&5E=#0S+GAM;%!+ 0(4 Q0    ( ".!_DS5>'U7-@0  )$5
M   9              "  >IZ  !X;"]W;W)K<VAE971S+W-H965T-#0N>&UL
M4$L! A0#%     @ (X'^3"SY[H() @  ;08  !D              ( !5W\
M 'AL+W=O<FMS:&5E=',O<VAE970T-2YX;6Q02P$"% ,4    "  C@?Y,# "F
MI1$"  !N!@  &0              @ &7@0  >&PO=V]R:W-H965T<R]S:&5E
M=#0V+GAM;%!+ 0(4 Q0    ( ".!_DRX0,G:  ,  (8-   9
M  "  =^#  !X;"]W;W)K<VAE971S+W-H965T-#<N>&UL4$L! A0#%     @
M(X'^3'M9307@ P  J1$  !D              ( !%H<  'AL+W=O<FMS:&5E
M=',O<VAE970T."YX;6Q02P$"% ,4    "  C@?Y,@>1#JA<#  !L#   &0
M            @ $MBP  >&PO=V]R:W-H965T<R]S:&5E=#0Y+GAM;%!+ 0(4
M Q0    ( ".!_DQ]C*_,3 (   $(   9              "  7N.  !X;"]W
M;W)K<VAE971S+W-H965T-3 N>&UL4$L! A0#%     @ (X'^3#] +(9N @
MNP@  !D              ( !_I   'AL+W=O<FMS:&5E=',O<VAE970U,2YX
M;6Q02P$"% ,4    "  C@?Y,="^\7Z\"  "H"0  &0              @ &C
MDP  >&PO=V]R:W-H965T<R]S:&5E=#4R+GAM;%!+ 0(4 Q0    ( ".!_DR7
MY8KWK@(  $(*   9              "  8F6  !X;"]W;W)K<VAE971S+W-H
M965T-3,N>&UL4$L! A0#%     @ (X'^3+LI(L>@ @  >PH  !D
M     ( !;ID  'AL+W=O<FMS:&5E=',O<VAE970U-"YX;6Q02P$"% ,4
M"  C@?Y,_4SO_U<#  "M#P  &0              @ %%G   >&PO=V]R:W-H
M965T<R]S:&5E=#4U+GAM;%!+ 0(4 Q0    ( ".!_DPLOZ\>$@(  )X%   9
M              "  =.?  !X;"]W;W)K<VAE971S+W-H965T-38N>&UL4$L!
M A0#%     @ (X'^3,%_4TA6 @  3 <  !D              ( !'*(  'AL
M+W=O<FMS:&5E=',O<VAE970U-RYX;6Q02P$"% ,4    "  C@?Y,86%^]+H!
M   F!   &0              @ &II   >&PO=V]R:W-H965T<R]S:&5E=#4X
M+GAM;%!+ 0(4 Q0    ( ".!_DR#Z^N,SVL  /FT 0 4              "
M 9JF  !X;"]S:&%R9613=')I;F=S+GAM;%!+ 0(4 Q0    ( ".!_DSQ 0OI
MM0(  !82   -              "  9L2 0!X;"]S='EL97,N>&UL4$L! A0#
M%     @ (X'^3&D*9B5 !   YB4   \              ( !>Q4! 'AL+W=O
M<FMB;V]K+GAM;%!+ 0(4 Q0    ( ".!_DPU TT!"0(  #,C   :
M      "  >@9 0!X;"]?<F5L<R]W;W)K8F]O:RYX;6PN<F5L<U!+ 0(4 Q0
M   ( ".!_DR;Z.7DWP$  - B   3              "  2D< 0!;0V]N=&5N
B=%]4>7!E<UTN>&UL4$L%!@    !# $, 1Q(  #D> 0    $!

end
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>71
<FILENAME>Show.js
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
/**
 * Rivet Software Inc.
 *
 * @copyright Copyright (c) 2006-2011 Rivet Software, Inc. All rights reserved.
 * Version 2.4.0.3
 *
 */

var Show = {};
Show.LastAR = null,

Show.hideAR = function(){
	Show.LastAR.style.display = 'none';
};

Show.showAR = function ( link, id, win ){
	if( Show.LastAR ){
		Show.hideAR();
	}

	var ref = link;
	do {
		ref = ref.nextSibling;
	} while (ref && ref.nodeName != 'TABLE');

	if (!ref || ref.nodeName != 'TABLE') {
		var tmp = win ?
			win.document.getElementById(id) :
			document.getElementById(id);

		if( tmp ){
			ref = tmp.cloneNode(true);
			ref.id = '';
			link.parentNode.appendChild(ref);
		}
	}

	if( ref ){
		ref.style.display = 'block';
		Show.LastAR = ref;
	}
};

Show.toggleNext = function( link ){
	var ref = link;

	do{
		ref = ref.nextSibling;
	}while( ref.nodeName != 'DIV' );

	if( ref.style &&
		ref.style.display &&
		ref.style.display == 'none' ){
		ref.style.display = 'block';

		if( link.textContent ){
			link.textContent = link.textContent.replace( '+', '-' );
		}else{
			link.innerText = link.innerText.replace( '+', '-' );
		}
	}else{
		ref.style.display = 'none';

		if( link.textContent ){
			link.textContent = link.textContent.replace( '-', '+' );
		}else{
			link.innerText = link.innerText.replace( '-', '+' );
		}
	}
};
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>XML
<SEQUENCE>72
<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>74
<FILENAME>FilingSummary.xml
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
<XML>
<?xml version='1.0' encoding='UTF-8'?>
<FilingSummary>
  <Version>3.10.0.1</Version>
  <ProcessingTime/>
  <ReportFormat>html</ReportFormat>
  <ContextCount>144</ContextCount>
  <ElementCount>277</ElementCount>
  <EntityCount>1</EntityCount>
  <FootnotesReported>false</FootnotesReported>
  <SegmentCount>55</SegmentCount>
  <ScenarioCount>0</ScenarioCount>
  <TuplesReported>false</TuplesReported>
  <UnitCount>15</UnitCount>
  <MyReports>
    <Report instance="cgnx-20180701.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R1.htm</HtmlFileName>
      <LongName>0001000 - Document - Document and Entity Information</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/DocumentAndEntityInformation</Role>
      <ShortName>Document and Entity Information</ShortName>
      <MenuCategory>Cover</MenuCategory>
      <Position>1</Position>
    </Report>
    <Report instance="cgnx-20180701.xml">
      <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-20180701.xml">
      <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-20180701.xml">
      <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-20180701.xml">
      <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-20180701.xml">
      <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-20180701.xml">
      <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-20180701.xml">
      <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-20180701.xml">
      <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-20180701.xml">
      <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-20180701.xml">
      <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-20180701.xml">
      <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-20180701.xml">
      <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-20180701.xml">
      <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-20180701.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R15.htm</HtmlFileName>
      <LongName>2109100 - Disclosure - Intangible Assets</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/IntangibleAssets</Role>
      <ShortName>Intangible Assets</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>15</Position>
    </Report>
    <Report instance="cgnx-20180701.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R16.htm</HtmlFileName>
      <LongName>2110100 - Disclosure - Warranty Obligations</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/WarrantyObligations</Role>
      <ShortName>Warranty Obligations</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>16</Position>
    </Report>
    <Report instance="cgnx-20180701.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R17.htm</HtmlFileName>
      <LongName>2111100 - Disclosure - Derivative Instruments</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/DerivativeInstruments</Role>
      <ShortName>Derivative Instruments</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>17</Position>
    </Report>
    <Report instance="cgnx-20180701.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R18.htm</HtmlFileName>
      <LongName>2112100 - 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>18</Position>
    </Report>
    <Report instance="cgnx-20180701.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R19.htm</HtmlFileName>
      <LongName>2113100 - 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>19</Position>
    </Report>
    <Report instance="cgnx-20180701.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R20.htm</HtmlFileName>
      <LongName>2115100 - Disclosure - Taxes</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/Taxes</Role>
      <ShortName>Taxes</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>20</Position>
    </Report>
    <Report instance="cgnx-20180701.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R21.htm</HtmlFileName>
      <LongName>2116100 - 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>21</Position>
    </Report>
    <Report instance="cgnx-20180701.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R22.htm</HtmlFileName>
      <LongName>2119100 - Disclosure - Subsequent Events</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/SubsequentEvents</Role>
      <ShortName>Subsequent Events</ShortName>
      <MenuCategory>Notes</MenuCategory>
      <Position>22</Position>
    </Report>
    <Report instance="cgnx-20180701.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R23.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>23</Position>
    </Report>
    <Report instance="cgnx-20180701.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R24.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>24</Position>
    </Report>
    <Report instance="cgnx-20180701.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R25.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>25</Position>
    </Report>
    <Report instance="cgnx-20180701.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R26.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>26</Position>
    </Report>
    <Report instance="cgnx-20180701.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R27.htm</HtmlFileName>
      <LongName>2309301 - 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>27</Position>
    </Report>
    <Report instance="cgnx-20180701.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R28.htm</HtmlFileName>
      <LongName>2310301 - 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>28</Position>
    </Report>
    <Report instance="cgnx-20180701.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R29.htm</HtmlFileName>
      <LongName>2311301 - 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>29</Position>
    </Report>
    <Report instance="cgnx-20180701.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R30.htm</HtmlFileName>
      <LongName>2312301 - 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>30</Position>
    </Report>
    <Report instance="cgnx-20180701.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R31.htm</HtmlFileName>
      <LongName>2315301 - 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>31</Position>
    </Report>
    <Report instance="cgnx-20180701.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R32.htm</HtmlFileName>
      <LongName>2316301 - 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>32</Position>
    </Report>
    <Report instance="cgnx-20180701.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R33.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>33</Position>
    </Report>
    <Report instance="cgnx-20180701.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R34.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>34</Position>
    </Report>
    <Report instance="cgnx-20180701.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R35.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>35</Position>
    </Report>
    <Report instance="cgnx-20180701.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R36.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>36</Position>
    </Report>
    <Report instance="cgnx-20180701.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R37.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>37</Position>
    </Report>
    <Report instance="cgnx-20180701.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R38.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>38</Position>
    </Report>
    <Report instance="cgnx-20180701.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R39.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>39</Position>
    </Report>
    <Report instance="cgnx-20180701.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R40.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>40</Position>
    </Report>
    <Report instance="cgnx-20180701.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R41.htm</HtmlFileName>
      <LongName>2409402 - 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>41</Position>
    </Report>
    <Report instance="cgnx-20180701.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R42.htm</HtmlFileName>
      <LongName>2410402 - 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>42</Position>
    </Report>
    <Report instance="cgnx-20180701.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R43.htm</HtmlFileName>
      <LongName>2411402 - 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>43</Position>
    </Report>
    <Report instance="cgnx-20180701.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R44.htm</HtmlFileName>
      <LongName>2411403 - 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>44</Position>
    </Report>
    <Report instance="cgnx-20180701.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R45.htm</HtmlFileName>
      <LongName>2411404 - 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>45</Position>
    </Report>
    <Report instance="cgnx-20180701.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R46.htm</HtmlFileName>
      <LongName>2411405 - 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>46</Position>
    </Report>
    <Report instance="cgnx-20180701.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R47.htm</HtmlFileName>
      <LongName>2411406 - 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>47</Position>
    </Report>
    <Report instance="cgnx-20180701.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R48.htm</HtmlFileName>
      <LongName>2412402 - 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>48</Position>
    </Report>
    <Report instance="cgnx-20180701.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R49.htm</HtmlFileName>
      <LongName>2412403 - 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>49</Position>
    </Report>
    <Report instance="cgnx-20180701.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R50.htm</HtmlFileName>
      <LongName>2412404 - 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>50</Position>
    </Report>
    <Report instance="cgnx-20180701.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R51.htm</HtmlFileName>
      <LongName>2412405 - Disclosure - Stock-Based Compensation Expense - Nonvested Restricted Stock Shares Activity (Details)</LongName>
      <ReportType>Sheet</ReportType>
      <Role>http://www.cognex.com/role/StockBasedCompensationExpenseNonvestedRestrictedStockSharesActivityDetails</Role>
      <ShortName>Stock-Based Compensation Expense - Nonvested Restricted Stock Shares Activity (Details)</ShortName>
      <MenuCategory>Details</MenuCategory>
      <Position>51</Position>
    </Report>
    <Report instance="cgnx-20180701.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R52.htm</HtmlFileName>
      <LongName>2412406 - 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>52</Position>
    </Report>
    <Report instance="cgnx-20180701.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R53.htm</HtmlFileName>
      <LongName>2413401 - 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>53</Position>
    </Report>
    <Report instance="cgnx-20180701.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R54.htm</HtmlFileName>
      <LongName>2415402 - 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>54</Position>
    </Report>
    <Report instance="cgnx-20180701.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R55.htm</HtmlFileName>
      <LongName>2415403 - 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>55</Position>
    </Report>
    <Report instance="cgnx-20180701.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R56.htm</HtmlFileName>
      <LongName>2416402 - 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>56</Position>
    </Report>
    <Report instance="cgnx-20180701.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R57.htm</HtmlFileName>
      <LongName>2416403 - 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>57</Position>
    </Report>
    <Report instance="cgnx-20180701.xml">
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <HtmlFileName>R58.htm</HtmlFileName>
      <LongName>2419401 - 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>58</Position>
    </Report>
    <Report>
      <IsDefault>false</IsDefault>
      <HasEmbeddedReports>false</HasEmbeddedReports>
      <LongName>All Reports</LongName>
      <ReportType>Book</ReportType>
      <ShortName>All Reports</ShortName>
    </Report>
  </MyReports>
  <InputFiles>
    <File>cgnx-20180701.xml</File>
    <File>cgnx-20180701.xsd</File>
    <File>cgnx-20180701_cal.xml</File>
    <File>cgnx-20180701_def.xml</File>
    <File>cgnx-20180701_lab.xml</File>
    <File>cgnx-20180701_pre.xml</File>
  </InputFiles>
  <SupplementalFiles/>
  <BaseTaxonomies>
    <BaseTaxonomy>http://fasb.org/us-gaap/2017-01-31</BaseTaxonomy>
    <BaseTaxonomy>http://xbrl.sec.gov/currency/2017-01-31</BaseTaxonomy>
    <BaseTaxonomy>http://xbrl.sec.gov/dei/2014-01-31</BaseTaxonomy>
  </BaseTaxonomies>
  <HasPresentationLinkbase>true</HasPresentationLinkbase>
  <HasCalculationLinkbase>true</HasCalculationLinkbase>
</FilingSummary>
</XML>
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>ZIP
<SEQUENCE>76
<FILENAME>0000851205-18-000013-xbrl.zip
<DESCRIPTION>IDEA: XBRL DOCUMENT
<TEXT>
begin 644 0000851205-18-000013-xbrl.zip
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
MOQK81O-?5>OACB4,-LHJXPVC45-!7& BZIK!04AN9AG,&$9G*KH/A\UZ]UT
M%E42X)49;8%Q41OJK0O&:UC_S-6,QI)C-LMH2L6YZHC)_<"19ON^<;N*IL H
M@-/*E1/28!=4T(B/^<NC=A)=-,6T[]K]4HV"F^GFE4688QJ"<B98HH(41'I9
MB[!D/E!W8?$4BW__^*DW@BS?5N8ODHI$98W'7!B/(J&,9%U,E2]4Q&'QMSOL
M3;UW\ID-(94)E%HM--PEG$#,@Y7*O'#*%K(&J(#)3?7E,M)?DB.[1E1>!R4!
M.8')H2Q&9;3(B,HB;N4L8[FF["SY^AQ4Q3DX 5$*[I$-A($OHVKIE6"C2"R8
MK) ^:R9OAJD,$D83 7H"6:^]Q6#H:UFFDE%1^EWHO&5Y+41EK>:1"T^Y4QQ%
M:AW\9BS$DNH8MF..3H*OF^$II1USC@MLL90.<RH)R5HB4E6$#<Z8P1N@*0(H
M2D0LD%#28\.8 B4[5@Y>8$,.F;OO.J/7C%_ZZ:_N<Y!4\#(Y11)6L\%2"(QY
MMD5&16,+)$6)UIOZ^(L)?S%F[!Q$,:,,)H$;E^Q["* B:YY&^"W=BFP=*R^?
M YPD9L$Z8Z25 /AC\&#>,^R/1!;"2C$B],QD]7F8"3Q)$A2.@A@E)0/;HVNU
M*#GXF'J6PX"M-@9-Q\[AM>"2%T:X0(SCU$60X$A8%MWH!=^.-3]VCFX(E("I
M)H S)0&"6FV10#(#)4+"')]5G*M2V  H1248=P)QQQ$30J4P:O:B=*"':\P^
MW?2JZ5C6!(QMB)10##PJ;A'#6/M M!$^AY"94+@,T2N,-Y2SY;2_*$]V#9@P
MB]X&CA464F!-HB?9EP0?7FS'ESQVGCX'.(%_3H1A2*&D'['BP-CLK'/J"]EE
ME&R*\4^%S1OB)R(<N.LQ<FUDBMKI6,=/)5%1%_@)/'I]KDIB(QQEI S8:1*
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
MADE-@BP##EC3)\B=1\SF1"]D,9**I<,YEDE8)<KIK.L1D.R*7/N455$G1F]
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
M@A)'<V8PLU(5F:A<T[7RLT^*M\_!0XI$EJIT\LA @(U,P=):C!T"YZH(CRI
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
M_Y!H[[4[UR]3F0+<&XR]\XA[!-8<2^'JQ4YQ*L1;(DM\F;X=3M]SD!D'#]6
MQH:U1Y#F'/1X;NUM,2X[8F)$M%H'FETF\R6AH>,)3\/R%!%+&S31H=[]H]QS
M5ZA6FHJN7M;F[J=S+6B*701OR4OA0PJ@ILAIO5M B8V\B"-IO7(^ZV4.7[J$
M"54".<Q3DULJ9%"*Y4/Z%$6-RLQP<-8NL[G[V=P FT=J'2(R2@#GS$D+_B#)
M4PD7RDYZZV+S7<[EKJI9.HG!43& (V@,,NWVU#%O@8+$94OM P*#+[(%28D4
M6FE*G/;:6@T*O.:/3<7P#AI@O1!H26TEM(;%10*(3-HTK$&+-#B6G1 /"K3L
MMLQ%2EM!(H+UUY%X+9R<Q* -*17. 0&!ES&N3..87%!K(P%_A3/-\\$?J:PH
M\[\/R+B^1'J\]PYT#NB==!B:H A>>]Z0%+Q,!GQA@^7 D(-)+]DD?V,+/%:N
MO?(>&:=T!$ 5@YBL">3* R]::K&9MJCIV_;0=IYX3KW !#F-L3*..T6-R3Z]
M9+%(?<9(K)QV<9@,>I:!5L)$)D&!4!>9#\)@F9TM1UFQF\(U0:N>73ML;FVX
M^X2I3Q56N-6">XN5S(WRB)?!%.N/2:K7B?4?+K_6R\,&ACA. HF>IQ[/#+!Q
M+58Q]1XJ4BP5.@TN;;B!Y(AW1 4=&9&6.BQ%;A<$OI4OMCU(JN]S$OS:9(^(
M^F <%HHJI2*/.CE>XZJ>X("I$O5P1%<NJ+U[;BW<&]*I0H;%3F$M*&C@2:5P
MP84I"V6LG;6R\Z'M/"^%VPB*Q0@D163",:1PMNZ.^<(G6#<OY? 8]!SK3C4&
MQQ()2JAQS#$ PR;78)Y7&6#=S)/#Y=9FUMTPR3U72$H7F*$&@6]52U< 3ZLL
M&+QN;LGA,FPM\ZX#U1ZXXQ!EL"(]%R0W:M1>EZ57U\P>.5PN;6;>13!($2Z5
M"M0IGY*7LEC1X,M^:6OFAQPNNS:I:Q28!M^-4YY: \$BQ+F7'W4<HS*]:W.G
M_1G<^K7;:>[1Q[6$<<V\,1S #3:@W0//3(IR3O$GIO1F>OUAH(? IN?80J.,
M =T4M.'(@38GDV9Z-$KEBBQ,B2793*X.DV<;5K8!S97ZFBED(O*<&<3SIH\W
MDA6I;40+M*13^G&Q;;VS)U:RU!XIX@1*%>:$9G3J)2&%'\<(.B5>;7AN1% #
M/J^.1@A-X1^ ]5F9*87GA&GQAICK,+FVR7$/8UTJ9$)28 7 *D**Y1IWF);M
MFPE=UO#VY5GV LZB4XZ+0*P14BO'F,(A]T_UEL<B4K!&K\%#YM)SK"1("8?%
M:**06!$/MM+6!;4(<KZTDNMT&#P&GFUF)07@=4U)D-2 ]I>I)VC><PC GT*%
MK=57\!C8MI:5I!:6HB$!1V&)E*#$M)D@L7G!X96["1X#JS8SDC$P@%8QP#+$
M@H'/2&-VBX@TY7FV-7H('@/3-JF'(0#M&TG!,I*H!/$AY-A7I,@7RO\%>/53
MK]OO?ZB/4/[4:'=F]LC]"$F0WS[YZ5&AZ:7CDW\,MHN1*%.IZI#KF 'HU+J
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
M6'.I 6P1XT%M>!.\+0_YO^:SY^$WIW2'XUT3 7VH!HUVIVJ%1J\#7UMZB@X
M'Y+@I#$NE/0IT<(:KZ)3-@KPXO;&M,[L0+*:?+S]-99S_)#IV/KO87\PVER)
MW=X,)=T._-@<;[T\SH^<W/0Q(8Q&K]7__;X%[$ZQ>RR6[<XXT/-&1$659U$@
M99D P;/8I!KL91;;<A8^/?AIGOGJJNKUJM;8C,#5O'>3$I*J-<M)Q&!&J@!Q
M3K0*1!F4#W+1:,I$8HH?(^$EQ#R+[D4H4QF/+'B3A OBO0!5%G,(Q0/&*$X)
MT9D\^PWH_E!]J3K#*H5=X6_MP6;U.X0-T0&H]!RG9$=B>"X5+#U5JB!<LYG0
M[S)RGD?ZPOT%D''/I 50CXP7'H7,<P(XM,P]8TC-U+K:A':8FU$><YJ6)1GX
M"U"GM8)%(C"@^\AXY*0.N&/N%"^+V4NJ^%S*YU/S'+H7<=Q%;(B3H%$\8 NJ
M4<RESJ4"3W9.$7ZEYZ_/5>@&A-IL-TJ+M )T8]10K@RWD3C/G.1&U_ENB%NC
M"ETHB%(S=#Y\?76JED =9QB64C$N*4^EM*R7HHY/*N7*/5:EY*R6>(JJ7OO+
M2'./F.JZMZGS;:]Q^^[S;?MZ=/NG+BCS8:^3(LKOKJ[ZZRIF%[5*\ S\: G.
M?^J296K:;0"XN2![=2/J=C"\A2W8A%=:6*4M L^;!4>TS:%C8WDQ-3L<WJ_=
M]$CC=IROLAB,C?54G>/1K/_R3V?\Y(Z?J]8UF&Y?]=O7XXR+1Y #UEZKOE2U
MEI6OLL@SS+30Z7RK"Y9$6O-( /@H].W3/'H\Q&/DA7!!<\DQL$)AY0*1$PU.
M!'MT,+_9.!A>_!QWP0N*02E0'9E)Z9PFE2O(,13E0 &7"=-HU@R?&$=,!/5(
M0PPZM9]*!?%BUB8:1SN]4IHW5Z,SX[/F?5\<";]_V 5'+.+*!@L>L5%:TD"<
M\A,9 8LRQ9%JV#N0];(C7C@44W=K0Y %HV,I  *7]:C3=-%!D/WQXB?[?B<K
MA2!AN4FGS[ GA >+LTU1Z8!,F7I"9P'EB7%$88U@D:1SQ]3K8+S%.J=[$">F
M-^.O/]^G&II\UB';%T=^_GTGVA1@,/7*@%_M$7;@7W-JL[?$"2T.>I!1Y_A3
MYHCDE%&+C+/$!VJ<BSP[[9KA1ZOF9GB5PKQ\=KM]?SSYS_=_[@21:>2M,])Q
MZP.B"G.<C]>%5"YBBB?M?I<1+!,EJ>OCZ?.&:,ZB=02#\^YIVB7RV?HZ:LNR
M6PPQ?2 <^:\/?^R"(UB&B$0JK,6] *U"8\Q)V9R).34>))H-$)P81V347CBC
M'* S9R/B,M0RPA"5CY*G\OH!2H SBAS0 OKXTV[</<.0 ,'0W <.ULCP7-@:
M]+!$11V54^8%LBXJ(ZEC2!HF50@Z5[&V*OI'66K7A\*+3W_LA!>!8N]%%#0H
M*;7'UHL<T3.<\&E#//@KA?VE)(?BZ>V()2G+QJ=3(W2T"T4CYUF/>!5%$27"
M1+Z,9IU.XWK96!%#T5.D4MUA:;C$VM8[W(QH4NX( [H[;88@Z1$E$6RJD,Q;
MQ#'/JR8J]0C0CX)GBK_,FEF!(;N)%VF:<F8)UE0 0+,:"98K"),H<+FOHN3+
MX+.]<034J!,.,R6D%%9BP*/YX%ZPS!41-,)>2*\NY\B.HD;8:F6H85$%2ZW3
M6&>]2I'#CS9@1A$T+%\*E>V-)9(!X@@:!LH"X'E/3-X 1A[^*5,.M=+R0%BR
MH^@1,@!#)/+..41!?0=E<QX"YG/J1Q#,7B:>MC>.6$)L*J.<L@2H$)X 2VJ.
M$$9#$4\CHW(N!\&1'46/L,#&!!$->'4RXE34-A^3$11P?9E]P,5I<\1X$Z1/
M;=,PB(H7UDT.MB,"AF4VGB9>+F:TG"<[BAGAE*CKL7:>VV@TC=BJO.'OQ:,D
MXT?QM!$R.7'><!ZL4-1QCP*FDE'E6-[? ]M<A ,4(X<"Z7<4/1)$ZD@$1=0'
M:8E@:=NB#@J$(,J^>EH<BM>W(XY0Q9DCT4;!'+B]F&N2X]$2R2B?CJ?) U(N
M.XHA68%C3$?, ,H38SW3=A)#@I$7)DB@0T$I.V*(=,9@HD';.NZ<8H*9W'11
M^<#(;%!-'HR$["B,A+Q'UBI )Y0P%BW!N7*U%)&24J&DHV@GS1%JA);.1LF)
M<48&9T@VR"H0J69CC4R*+0G)G,Z)BU(% U+(&,M88 %;$XAV=3X00M3@.2V6
M%U'97YNP"7=MX[;1:58?;ZIJ\+;;+-G_OE?=-]JM\/6^ZO2K='KDW>"FZM79
MO^-/S!1;VF8>" &E1BW5@*\"-PX<M%Q.!",ARTCI-OFT*!D2(XYX<AT#"MHJ
M<!+L)'TIH++A>9$[^TS"CF4"%8I:C;I08\\$<3*P6//),5KV(MB(3Y.*7:DP
M[:,'UCSSSC%R,'^!QXBD!&V2<[=3PPY2EJ%Z2MJ>)NCY U@DE0+T'X $[  S
M ,TRI#;%]0 4_+,RM[<R@ 7EWA:6=A(A<AIEI,I*I)T60>?0=S3E>5/\E-^P
MF*CM#&1A9SB1K _7,3G,G'H *2'K".YTJ2/6$J<E TDU65,-R7>=A]\51W8>
M#J4^8^U/KHT/YDP.O\W51K$[JJ.=44&F<FER1H@..6\%Q\);+D*]AP@V 6M>
MMK&73P&=)]CR?![^>>@\Y,AZ+"BQR#)L/3 /J=Q8@01>*#?]E#3NAH7J",0P
M8D,UMSR"_Q&=0$;Q^L@,#]B4C19>4SY[.&7G3#QX.?3!44F4,N"[&.=1VK2I
MF6B9*1'!:_%DXO=:3'S3Z0]ZP]&)TOS<AZIYV^CWVU?MJA5[W3O3;([/=U:M
M=^[-F\Z@.V;#^*PGO.-]MY>XL 4]ZB>,-_WZU@<"-YB+GZI..D\#Z,ZT[MJ=
M-KQJ-.H:]BW+T8B&..L)E0PS'+0"UZ36#09IO-JQE>TR^!PG\4/5KU*16YA%
MGZK8=N]'A\A7FD(&*AT)[)00HS*E3(L\A9%H4NBFRQ3N9 I31>]^?59V5&X!
M:%P&;KR./,U60-X9,",I4%Q7VD+.%;G;3Z4UG,CDK6' #DN)ID0N1;5GF,O@
MN*=V4B='"D9+5_<RCP>H1ZWTU)A ,'=>6VJ1#AGC"<EBV3+C,HN'HTJU5Y)J
MJ2+&+.VJT9C+YW-%Q)SR^>PI)^<4IF\]E^JPE"F))AUZ\UA;IL!1H$[D(B>&
M.UX$R"^3>'":-/B *?:<$22C5<E%SK@F2,Q7.\-YF<*](%)O60R6>T94VG]1
M5DS%.<YJYHX6CCJPA9$Q *'1"JL##3PO/XFQ.RL->JQ85 >M@C&:8,JDE2(R
MG+&H(>>E08\+B*I E>9"(S6JY.^0];EZMA'>K%8*:'\SU[WNI*+B;SKCM[WI
M5#/O2SIIE!(1OC9OAZTQ,9./IOY%GZI^JM)W@"&:S<+6U'B$-;(.\\@<)<:8
MW/PGVD!6JW[T MP^K&G>XZK=<'<BK=LH@\<6'$DDO(L3JVF<+XIM7*9YS_!V
MLVFVP6%B&=+&^\B=I207O\,>H[*=SV6:]VR#-YMF1*P3A+-@N&5@A;F,N4J\
M][QL37E4TSQ.XRJKE!_!+DDJ\A=ONW_5[UIZ.#@=D\8.>6-HP$A'C7*M?VYU
M$9(53Z5T;H^A>YFP/2Z_]29,&\?,*&Z@-?9$4XM87G91RT*[GN2$[=<LKC=A
M/D0MK!=4,<<]]LCK26*+,GPKJ.?0)^MH5I=GW#@I>.#6$*PM-S1#5.MHN<FQ
ME\F:JLV]9O9G-,3;&%E@7B,.;I93DX1A4\8\GLS^G*)@,Q*7IU@WKSM?4T7Z
MWK":Y%?O+I6:!(8B1H1A$A'&>-1WKCYM"'BVS$[>#6<6%K_VF!+DO=".2\VY
M3N=UZLE#E!9)*$]FO#Z;Q$.;/.$EQ5([HT#+.NT)QS@73V;.%M'8YW/FVT.5
MY0_MZYM!*K#<O&VT[S8M;^U=B$'0R 78="8%>,8YE5_J*%:+::U!W0Z&M[ ]
M@2/&".)H.M"1#BNXNKB73Z? <9&MO9OA_3I,8O3N:DH__US-MHQ9VFZ018(I
MU5H%QGU QFHL<]4'A1]U(7= Y76W]^W5CV3>@)Z@YQ'Q=4?.]XUOC<^WE8<7
M?NK:*O7D](UOOP#A*?C]9]7HS>D'0CX^6-V/P\_]44/V00 ':?#IVWWU. [[
M^'I><0\;CB225!>4!1DCE4$A/CE@JT7@J14D5J^1>DWQU%A7)G_>H/N[&=.3
M[2^)":!:L8V(,6TES&^-K!5RL3QV--,3=D+UW*&4?=M7*-@O@Y3*4B$L(Q)I
M0(NYLC5RRK-"*Z1ZI#-)T=/?7YNP!T[NHNF.PU8JI\#J@C!IT PD]QY,[6+F
MU$#<8'13@O?N*H&PW@NO&V&(2XU4942@\YB6:-).TH$6F5HW6,X9V'+ZIX>=
M&9_;Q/KV[7 PVU)R?K,T,KT0K&8>@ 8+07)'B!12YBY>W.L9F#C=QY9.Z;DG
MB-F4WC^?IC<5 [1!T511A1NL.,_IN2!&6IBGZ>5R-_26;=*FZ0V&"2*"B!P$
M0'AD?"[(!KJ'SZ;!O01_2STT32_B-%#*24I@EQ%+L-IXDB^D+5K WS7IK5MG
MA:_-FT;GNOJ0Q+XSO[G[VCU9K XJ*$Y2@0SEK$?1YX((2&!3=IG',VT"UJ%N
M>Z-:8B*P!U_.1!8I V]@5+FA3B<AE$5>GO@ :+S%44V<UT^-K^E)UTW]PX8P
MS^_NJ]X(UL^?J07+@U@B?(A.TR!@FA A(1<[Y520:?73&2&HV8[FJY.VQ0$M
M6#]"4<Y2;#6UJI7@DCB1P7U$QODY WH-(\+['-%B#29Q1!+<$B.-X>G,( LB
MGX6-]%&3Y(<IPF+/ UHP18$ZQ .@"X>L%8J#B^ARC4STN '@U(!V-$/)SG>:
MX.J,W>)!K%K)V4D@;#@ =^+1S:NLKAD'ABNC+ D(9!%QD$D>)PZ,8VS^Y%&^
M;*QK4?T23/AS(1.08 "A#<>!"OB/Q2YW*HT(!.$DF% NXL=,(!H3K+T/870,
M7$2C<]U/')44<YE EDK]P3%AH20 0@]4FXBM58#4)0"R&J$3!JZ].B$FS 3.
M4Q.\X>"FVP.7[G$,'B[V!^VF2UNLO6]+'6=E= R" /YV01IEB*R+I5)M#=9G
MR,&\I3[-P 7/_MJXJV9<Z5%&7&K^WN[W@=ZJUW_3JVX;G3G!T,>S@3&8LN17
M*V8#-9J XUG/AN0AS)=G3(Y/M;W@=(SB'].)PMW.J!'MZ"=WT^XTELU*, :#
ML:4FIDI;$EQ47_NH5*5FK?/7R'XGI>;:HSM\&QY,Q6W:C=NUXPK:8TPB\5':
MH)V-0M2)F^"S"#=/,@$'8[4>$Y91_2)<6  UE6(,W'X4M:=*&!-HWL"G&AO]
MA#=P?%Q8[$'$%&E%R@7+4PZ]D4J1F@N64ON43R2/D L+9($ZA1R-B$CNTAZL
ME0]:(0HW#X4> !=&&]A3+<;7U0/42IEL$1,P=!2\! <Y=\>-+,Z'G<O=X<5$
M[F20"Z;6"^(=@C4>39 ,##%Q)/>A0"H<RR 7KV)$G+"@R*+5T7JG<>KX7H?P
M4]G1^8,D!SC(!3,9"66I_[N(4CFLTZFM["\';0D[B)D<(Y1.*VW#WT[NF]W
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
MX%3_^&NBQKJIQL;J2-+.Q^=7>"UP0XY,JEJSFZ%+P23.+"+$A\VB%[22/-P
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
M -X8-=U0M<6F+!!U!4T8\$8H>!6K<)#3JE+J@1GX/N5,<)5\K8^)V."E-8\
M'E</GHE"&X-F3L$7P]QT3>5\>+Y7-S#CG 1NL\/:CC6(ET2B+0;"(ASB9NX$
M 0>_@YG<LV;29C'5O;1A3:^10!MYR"N'U3)J>I3[2-B!']0$4G,)6J8U62>G
MT5(GJD,/G85J0#/XFAZU$;BA K1+?0X2@=/0[*=AFRUU*ZV ' KNQF:/%B@\
MAB B=5U,P>U#X;QYHFNS9B]NBQP,[G*+TFKM9NWL]U;9' DB+-#6ENWXILWM
M,*SG""(K\!J'YFY06T)X+3POA'QS79.#0LNSP7VT&1:.P_Q9,1RE3M@LAD-F
MRU&:HP"^;>-(S50SB?!#"!<$)Y:/YF7H)FD>KKZIFEB>"/*-21??9$)MIX;@
M#''NN:3>8Z<X"%ACAY <2O'WT5/9%29,LP_R<9H-'Z)<_GH'.FN2)F4/U+W9
M15$<8M>0N:Z+"+C/3MV>@ L'+''C+# F*^?6M@/U4A2VG<JGCD75 450]XQ;
MH +K@^$D@&"].3,>([+28_,P''Z]\V/52"(9Y2]: M".CFLCX4"P3 FVW%IB
M5;U"2R,&T$RT%?QV@%X"^M:,$<*,<8XL$OH$V8['ZM(:'_BGH=P18_BEH']*
MRP:8F:S[8<Z2U:JSQ^R7T2'-,$@8V,+W./<MWQ2 4BT&(K2;?>P90W8K(KN
MUQU:6]:'>&[ L<ML"[0IH.&+^: ^, S-VH5CX+-Q!/FV9?%,!)QDNP2#%Q."
MZ<7U( ^7D-7YS"K?1JV5$\F;X#D<[BUT=QWB MD=;O.0.8[%/+<>G8XHL1L^
M&B$6$EOX:5>XWV?*D!1/[\=1HJ:GJRS 8WN#V6V'P7V,O  Q-U3Q:J"J.>:3
ME2S':49E&*W,X]L=N*Y0VC85S@X=Y$ <#HP5JMZ*]?Z1'PHS;-H*C, )[ *E
M:LI2ZW2E@WJ2NZY/0>7:PC%#3GB@9KG6-=F6U>PJ34Q+K-CM[2"]&(.-?2DP
M129GS+=<[G*&P5&MN0N"?M3P/"BXA/AE&*1#*4?E /.?\GP:)4-5<J&&E>?_
M3$8R [\+;H&X3W645U^[X 6,5$0(SR\W3=4:J_;*XZF* TL3]>MCV:QV_ZI4
M8N+0\D,'XAWB$+5^\P5T23/A2YBYDO0X*CYG)-P6$;:HCT/A<66N;:$.+)JU
MNU<VV&MH)2I63<(Y"*<*?.HVK?!8+QV/95DW#J[/2TPDL4U08;9C@Y96JH#:
M%JV]1QM;#1,)#H#%Z%IZ[ AFYUAN<S0#+%C(045XH>N ]B9^72;G"]2,:JF*
ML43'6(ZFP^)?49:!GG\JQ^-&X_V4MF6Z#@U-RW/4W$LU$H#5M4$,K&LCQ*7<
M;'!N"Q"'@+FQM3=B6% ?:,MM7U4S.78]G\/Q6?-0,%NMX3P4S-JV'F#6B6.J
MNCT+J1%.GN^3>L*ES1W>/,RU.J)G,SS;(9]]C&6N%,H!GKJM&H2"]N*,A\3S
MJ!!!W5H.!]QI'D/'>-48[@+7"B;MCLO>0^P0Q1;W/<_S+=/TL._X=MV_!9S?
M9A$K%R9M".=:6 Z'>1.3"YM!K =AGPUP>H@BQZWM;P#Q=2-T%5S8JP[4;C"K
M86"JAS!<XJLFP6EYT:&926K[(4$6!!=88/"?G*!NYX4\T_2;!<-$[9$NP[T1
MGI<!OE%&<>AB 1&V9:ES64& YQS.50ZAF0A&]#2 ;TE,(LL.N>DH>)E/( 2=
M4YP[GHN;L]8LL3*[X8B ;_24P*V$^!_^ YS-U*R&^1%7%Q1-4X^#:T /!?QY
MJ\FEW65?WL7#>-]-#A+X"%NJT9^+ \&)R^M2)-]DI)F65#/)5[EE&T@O16#C
M" <$AIZI(CP/)##T03K=>M0=#6@C=K:0ZGC] @242Y//!I.W#HG>UAH">2''
MOA]29F&;FS8F-;. QV4V1XJ!$E^9QK8"PK[0;4P$ ?/BT '1(YX)_I\7U)WZ
MN<!^\P C02H6Z RZ;0UK+::.FX;8P<1B)"2FX\\%S6S.VL-J0ACM$KJ-M&,\
M0&KL=ZB:7/N,@X6N6ZMCISGPA,#"KFQ1;().CL=J3U0F,HO&H"B<T43-S"VR
MLL3O4#.GVM:;H1FZ:E"<3T.;6C70+'1(BP_*5LK'=@.L(U0VQBZ @K 8!^([
MC 8^)Z+F#H]:S3/A@/A*P_33H;*%T0.$$ W Q[/*E@G@6M>]Q!@AB#:G&)5=
ME<Z&RL9]4H?ZQ$9AX)HF-ET>\GF[.(1$L]@5$9/2%R]+:S+!43[Z?5FRY3XM
M+IE%'\Z7*!N5__-;U4N^JB[8/I%&^:6_1!.Y-,2M@G0I7:&N:4RC(0X2O@^>
M)1 E@&4.[;KU+L4(E(>:1O/[$ADZ1*H38E5U;XLQ0WF9%_ST$"6S'$V89G<R
M+E3O]^J]6VE9/O?3TZ-<:; -KXB'\*"2I%OJY3@/@@!X+D0F1-<^YWPQ7%0-
MEEWBN+S,13W;CSDA-4ZZ"%- ]%\ROG]0(Z(^ WO>R[^HD-4'/V<^$N58ZX.?
M325UL(-\!,$5\IA*J]6-X#@E0;AB)H%2)=ZP1F_-4R[33O0ZS0J6[\U/*D/8
MIC8XIVIO60WM<'W'630_]81U+AEZ3HISD+\7,B3<T&,!]HDG0B' QW7J&CQ.
MK%"0<\O0GB0[S3K^DI899SGZ9:IHVQHH=RI$CF?9S/$A5*%4,-,AOE5W/O7
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
M@J"@70()YCNAUPYCM\AMK/*RN0NNIV52BDW0,<ROSP:I-7PV-'2!'"[K"7J
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
MWBCW<[>&P4NL7"RZ)\[Z!P/?JK9W72R3ZL2R<)[6-?TY8,T4LW4.W[J6,0?
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
M$1M@&^D<@<Y#]L=\78&L51N- XOK<@8M6EJT3K"=A@>"ZWD56MBTL'4_"&:
M3C#:[%I$ZT*.>_5.K/8H3N^J\6A?FG_WLOGHF0AX=$^A;!%W,BKVAL=T[E9K
MMQYI-ZW,#B%8V>-0ZRZMN[3NTI[9!2NS=@I6+3>U>M/J3:LW[9I=CC:K$M!E
MUUBMO(Z42EL_UJ+M[S]_-\UO[J/H\9VWU!+T0]7\6IU=S_]2E0]\ NS=<3K\
MX\?__(\_U_?X@-#GLI+@IR0OLFG9 ]1)1G^5HWO@3$?US8V+6.9^G _':3[-
MY/PY0.U$D?2#O/OA3>BK9A;_P+]_\M\8\0B^B(;%#?(80]P-F!4X3N 0XA//
MI@Y"@1E0Y(5O?EQ9HF5R;^G$V;;"6QNX'M&D+TAI+-%RX_KO _G16\_.IGO\
M3SVTAG^?JRZR %)B#*=9)I/ADY'%^1\&+$9T7[:+-<HZ%'G_9,2Y\9C%B1JM
MH09OC&0.]U53-2; 0/=P537H(RW4Q(UH;-S%2037PU\QO'A8]E@8/D3)/2QZ
M7/6H74P?42,SHMD($%4%<QN-X6:X$LQJ.H$GS<9\K  ,C*OZ/T_'Y?2,NRR=
M++^B@9W\6OUJ**3RMX;AE;\4JF7XT@ 4H^S6H1X!V#46>'_J%U\Z:2A=/#U6
MHU\>0'CA+T7Z<J4 =E@>M72S3OIW<9871J2FGX , _V&]3U?'N+A@S$M8M5^
MNDD@^$(-02DE/X/U@!OBX@%>4TRS4DVHUT\?C6[H0IN5<@>0910]/:>%5/V2
M2U6FOKX;3X?%=-;N>#M3 -7B7#$3</L$_@9>+]EJ=MO-,C]6\V&4,J^8]C%Z
M*C_,5N$^BF?<#(HUE_FL,W.NQO+4JB0O5PD8K6I*#_#>*H&XRV6ANCTK9%9D
M9C$&J![;$\'#B]F+XN@6EK9<J5NIT"C7?3%/9Y4?U-N3M)C)<S2;*/M060=X
MY5S/E0VGRYN,:#A4DW#4!44FHT+]7H_ 4<\?E4\=1OF#H9SC7K(>$D;5_[ 3
MP4QGE%&-Z.,[H*["#@B@R/E,M34&+=5DR*>W>3R*@>'D#'%UW7T*VA/N><Q
MJPXKBC^[_78*KZU8L6Q>4W'!K%TX?"A9L-C"\W,.4SW'8>E*-HR+Y:?/U&7%
M0XV5C<I)4R]EH(NSI,9#5$TB631U3Z=%7L 2E-:HP="ZV?H*Y,=HMDX[:;9.
M^0O;/E]VT^N+ZIG=]>V73?L7WF[J=N<7D.>;@VN=H1.B;K6I&>P:&6R6Y:D&
M%1EKYQ-==JW<$471FT47A[#9UOK3:^[HVD[.7U(5,T;C=9GGWU0.0*N\[E7>
MJ^XNW,Z+__SHKV/#X/^F\>=H#"!H7NR>%U^U7M1J4*O!<[)>IUIOG7^X?>C0
MJ0_$;Z9RQ[5GY<7ORGFHP]5]UMP X3?\9YGEV<;U\A;LYD2J/BEVP2?%]N?4
MWA&N-\2Z6([;:H@TQ^G.C]5=P31KEEJ<T!<\?P%?>_R&>.NX]5?>ETA' Q<C
M(1=SXN&2E80]$'9G35ZTDM!*XG+-Z!(Q!$:X,VIHJ=!2<;&F\Q5:2JT'N@XW
M>Y3R.)Z0_"V"MZI:V=]ETLM<T?DEJ]T'Y;;99:1Z]1V:=(+QTE+:?>HT* 84
MZT:#6M:N:1?D_):MO(LRI@V9%BYMR([3C=JDW?4GN';1>MU;@A^_Q'ENA%F4
M#"\P>7/\1D7@ NJ!)3J[J0?XK!40P?6$*RT@EYK^[[PYU(!8VF!H>= &HY8'
M:G8V=.I:Y$%O"[7>]==I<A_!KXD1IEG<W8FI*TN@M3MBELZHZ8Q:WXS5%634
MUH4]G'77OUC+FI:U\Q/N_):MO(M1;<BT<&E#=A3AP@.$M&@=+TZ[IG#,58U%
M\P?CO5KAUYW:6[LY1/2I,9WKT[F^M0*":&<#^+2 O!H!N4(+,DN&6TP;#"T/
MVF#4]@$3;1]>''3T*,(_7C3R_]),1HGQKU2?&-KKU/I <)U/T_FTGAFJ*\BG
MK9,WV^JLT[:6-2UK/2#<^6U;;<JP-F5:O+0I.Y)X<5-;KN-%:=<4C'V*XB]5
M!P=?#:+*7G=NK]T3I'Q@Z::".MNGLWT;<A-$-]33 J*WAZJ["!]P?=I4"X2V
M&/.0!//.0I)KD0>]/]1ZEQ<ET4B='>HV(KFR1%J[(R989U;GZ@-_G5/3.;7#
M)8TSW5!.2YK>'+J$)L1:P+2 :5.F!4QO$AW&,1\!J.@QS?0FT09_4.\0Z7R?
MSO>M$P_+U.7A6CST_M#17# M%:]&*J[0:&BIV#G^^*Z(;L>R[?H#*'X(6$LD
M&\>)O'FH;#W"YC?/&$P -RW1]-_3O(COGCKDEY^2NS2;1$6<)D8F[Z-,O=HH
M'J1Q%\69\3D:3Z61WI7?I-,B+Z*DO +N^@(7 SLD118-B]SX$N5JYOH=1#?
M+L:W<0(WI=,<;LC_M'GL^B9JK$-UZ9YG(FK6%(L34#35Y^6')@K=\3,B(W7-
M_,$E:QA#.1[/KOGAC?FF_ Q\/ZP_MQ#Y4SQ14^CE%^-#.HD:.NY+/"H>X$_
MZ3;-1C)38?XX>LSEN_J/[U?%9P%4UJJ[S%9-LWO,/8/)^F:[D+<JC-G]_(7W
MG_=V\Z*A?^'MEPT]OFCH->.=[/7[Y1[/YB8?+_WX,B?9WI;6KPS:C [H\:N1
MI^-X9/R76?YS#$INIMX03+_,CIF,<?)<%H8/WNIG\)X^RUP'9YKO3L!W?X^C
MVW@<%T^'\)Y6@[W(H'5&G>.SFQN-HV0H+Y=:_55N_ S*K5>J+%09AM]4AD&S
MEU966EGUD)NTLCI<66EGJ_M:S=/[^WW2;Q\?I"SGP+3M-_P]'99I?*W]NM=^
M1,>AJ[SXM^GXR4 # YNHLT-IFN4TRRWN\N503FYE9I"*S3H['*_9K'>LI:WL
MZ^5%K?*TE=4L=W%6=EUXNV %<QUQ3WT,OX6DW<EL>?&[N #4AC5)YQLSQB^I
MVB3, >NHD"-5(/57.;I7%50_)7F132>PGOF[==:F,XNNSZYIPFG"]81PNUN?
M\^K(WA&N-\32'/<:..Y"$OC=^8+!,$W223PT'L!'D<T:[\N-0+JCT?M,/D;Q
M:,%-\NNC3'*9+[Z)DI&1%L")QG":9>#@@=N7RTLF7[_DLD>'VKK;,6N/__^[
M:YKT^EQ?.PV$;GJG%816$*]0'Y1W(4N+OQ;_<XM_7VMLG.$PF\J1,?="+Y9&
MU\]#9^<8[6.N]3&UD=$*0BN(5Z@/*A^SLSZTUR+^E](LHSL>Z#%HGU0[CK*O
MAMHXKAI4/&8R5WO'96>.^RS-<R,:%O%G=3+P+LV,:#PV1O.-Z%D&TE"IR?'L
M!&$L<^/+0SQ\,+[(;/Y \"73Q(B,1!;&;93'N?JHWN&E25G[4.YCSTY:&&6M
M5&Z,IM(HTO*R4C15QY#T[DZ=D/T2%P^&C. MPW2J:A<>HPQ W-8>1+?W *5A
M=]+> U]VHX!7W27AHAM<X(N&7C/>^=MSZ$8 N@&%;D#1+[Y[#0TH>L>0FCX[
M"NRK+NAN%UAUAF!!5'V80//>T0\3+.BHS^YI6Z#ITROZ:'VE;:7FO2NPE0<%
M4STZ)G&\+<R_5/LA$[7CD*O-B$P.T_L$+AIU7(O=(W+V3M@[5X:]&)%VCLJ:
MK5S6ZRWV=N)T5];="[;0HRFU$NJ#Z=,ZYQBEX[U8=*UB+E#%](APY_&WE\J-
MKI"FE\6,UV7OM--]QCKW7K"%MHA:"?7!_FF=<XQ:^EXL^HF*[/M<#7,ZOU%5
MC)]3S5R9&IZ#>SU#;MO=FO_14V^UF&@Q:26&E@HM%;WPX;43\BKYZ JUJW9"
MM+K58J*=D'.$_SU*.Q[/)/\BBYE!5IM)L[/K\P/J)TNVO6)UM$=Q)GG\:HS2
MJ3I6_Y+JS+6K,7M;>92_40=Z=GX]]B;4-E*_)&-\#,I>4MW8P;3M#4OJ#3"M
M/B]:?6IMV=>*-ZT<M7+4]7*GB&^6&W+I(*<WC*BMM YRKJ!.3]MQK3ZU^CR_
MS=?:LH<5AEHY[KA!H9L GQNTGY([U=M6#1\W,GD?94ITRY:[P(]R6$822PU_
MX\5XV;J#[W"Y@^]=G$3)$%X&4, 7U85?HER-J*UZ#>>Z2>\N37I%-TUZV0M[
MK?)+;C=J7S+P&G>->^]Q?_5'#0Z*<.: ;RO*.56[HM[D?OZ>#BM7!%R$<.Y*
M?)R[$EUYZ#K,7H#+SUL9UNB 91_"4_9:EOKTD$EY,X'?'G(C ,^QLQRX9J)7
MPT0?XZ\'L9"VCU=P1J"_4O>JVQVV2ZIJM6GH#IN:Y8[68;/D,*S[3VL.TTI-
ML]SEL]S!2FWK>"6$UM$5Z'+2/?"39C7*B]_%!3Q\6#UG::2-X<L<WEENED2Y
M\5<YNE<;+C\M]E6:&R)=</!YB=T[T>\-L:Y79VJ.TWF Q6GX*$YRX]MQFN<R
M_U/9R!%,ZDCE>?.'*),/X.O(+/]?0_[?5 T!^[;:?59;SH]IIE+"?WJQ=$^
M$\;RJLCJ#(?3R71<6I.T (X%2":/0$Z9Y-5V/7R6%=W_-"BG[Z9W1A%]U5[D
MB4S),>K5SLY[[5'*Z4K1CD>C2VSGL)5<UU(XII615D9G+X.]"-U3WF696L-H
M#:,UC'9WM+NCE9%61M>AC+3NT>Z.;A5V^GSE.,KS^"Y69URR=&)$^V3>X%.1
M&L-IEDEU-O]19F65:WZ4-.=K6J8/\K-,IO(*:799IO80^O1B#H.> -1?/[\/
M_*&;!&AMU =#IY7/XBY;:QBM8;2&T?Z.]G>T-M+:Z-JTD58^*W=]2X\_7K4I
M+A>3"]\Y8W8A19C7KWOZFTW,P;0-'P;&2'Z6X_11U>,/C"@9&3*YCQ,)=$WN
M#?GU429Y=W/'-8M=XYB:D_F-K\4]U&)RC6*BI4)+A98*;3RTF&@Q.<QX=-:V
M]UIDX=*K>GHG.9="N.-%QA_E> QP#8Q[F<@L&E=!<32:Q$F<%UG5&[CKN+A'
ME.T=2^ZLS#LEXI4[0[W(B>L=&"UQYY8X+6!:P'HL8%NZ,5V! )[.Y!U*2RVQ
M6F*UQ*[<=:09TJ]0+/5>O=ZKWRAJG](B&AOW)SFF=;GTORS^/,YPO[Z,5+O4
MU@(]G]UW)E>Y;:I?7SA-;[1I'=<C':=5VGE/.6F]I?66UEM:;UWNMH'68%J#
M:0VF-=B)SEL1=G*2[77NZ@*8[KB'LGJT*7/2EOGW"5Q2-LUOZR45)XUN4F69
MUBC.A_#\.)G"O8M9[KEN-;7/<H1I)N&Q,\H/G\K<\RQQ?(6$U+:]'YMLO<P:
M7_:AZAYEC/O 8;JZ0BN\OBL\K=\N(@W3!_[1ZDRKL[ZK,^V_:?]-*SRM\%Z-
MPM/Z3?MO/5!G+YQ8?02E=E*/H[QX[6#J7]+B3,.I3T/7RS(0VH!J_CE$E5V*
MN]:;?;,K=(7U)MBUJD0=4^@DRC&I]RUAM#\$O*QFQ.T4U6I1JT6=:NFK%BSO
M0IR?GUS7DF+1:DRK,>W=G5NOK?'N+.MTE<W:N]-J4:M%[=V=V[NSNQN>\^J=
MNZ6D\W=%!*BW7M_R]Y^_F^8W]U'T^&ZQX[2TJ^0DH]E>DZ..+\1%+',_SH?C
M-)]F\A-0Q!VGPS]^_,__^'/]G"#*$K@^?R^SCP_1TD6&.NL 'S[(NQ_>A#XV
MD?@'_OV3_\:(1_!%-"QN'.Y;F%F,>(P%U!=^@)E-'80"'H8>PV]^7%F39?I^
MBB=JLTQ^,3ZDDVB]>ERZ?1PG\N:ALAT(F]\\DQX!HG)$"_6O\@LYNG& J:-[
M:934VISU/CGHSR&-9I#F):3&%YE) X1Q.&OC$^7&73H& U4>>3&*AW2:1\DH
M_]/FO<E-2.VPAL_,B F(EW(:)V AJ\_+#TW2; )8+M,*J6OF#RZ%QQC*\7AV
MS0]OS#?E9] ,P_KS_MSW)1X5#_ GX#335J!LQM%C+M_5?WR_JF 60+5OB>/6
MC;'=MZ(JF!CY9KL:;%7&-4XOO/^\MVOH7POT%]*Y;KV;(0Y1X^)%'OX<5';>
MT11#4.8R.Z8Y_O2027DS@=\><B, ZS'JRCO5@>(K8J./\=>#F$@KIS-VN3UY
M^>#Q^?!OT_&3@0:&BK*T(NM>D;UJEEMP&"XYK+-=.LUAFL.T4M,L=U%*31?\
MKJ.F&^7QT/BRFCX<IA-PD>LL8CHM\B)*% )=R?3QIA;T:,\8<3P@W#PZS:YE
MB^2")+)W%N(U2=M,N,@ \^ZFAFCATL)U?L*=7[C6FS*!NZN TM*FI>W\A+N$
MCJI*\FSK^$YD;QJC]F<TUI'.K9\MV O*%J=&>F>,XO&T['6:%ZKL)WWL]CCG
M$9(0YY?&=L-(!YP?:=S$]8JASOAI 5NCH]C 9MT9.RU/6IY>K3RU&RPV8#;1
M J8%3 M85P:+'NG<__7*D]Z0V[F2?[85IX915'_>R/^;QI^CL6K%<\0-NA<?
M;[HL65Z7]N0#1$\X3E#G17LCXY=L8:]?7F?B:0\P[FX/4(NG%D\MGL<TIV)
MNRL,U/*JY57+:Y?F5 QLLP=-[*Y%/'<Z\[__.AT$UCX'TY=H^N]I7L1W3QUR
MV<?E+4>C2(W':39\B')I-.#?_^%X8#-[ ,S5P;/*F+L3F$R"NX*ICOCOYC6Z
MBIP#0Z4(FG6\MU$>YX.J#<!2DL 833/UG^)!PK_S4Y4EPGE]/,YX!+E(1[DA
MU2DY8[FR?V  #(_5N,SQTZ K0I$!MSLC5&>+QQ'K"J:[-"MIGD<3.2=OG)2U
M[ /C=EI4*Y6D!7P['$]'5>-E=4O=Q$$-)EW>P$]D>6U:/;!B#^-6#J-IKM96
M/E6/C)(BOJEO>KM9?S7ZCJSM%[+<5"2,XNRW:#R5B^8C^3Z-13R36D'H!M0-
MD>M23EV$9XU%+(]A?DV-112MC))8QL\R4J0J6[ETIK\[ ;TT B,Y3*MFW^_
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
MGYA(^NP;D^%5]K>6_-<8O0=&*4RG--7W6JJ1-=M@M;D8L<)X.%L7!B^%_]K
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
MKVN#(1V40F*&Q R)F0JWL ^U#MW]0V*&Q R)F2JM&:U//A-)&9(R)&6J/&Q
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
MY6&;#F\E9ZDFM?/'@YUB/=75AFTJ.R0'B1RD6+ETM,&0(@;D(&W"+'LH:V^
MT;;&0>J4=YI9TTTX<H_(/=I8*'4THT6I)/*.-N&5ZH_ZJ^*>ISJI,263!H9N
ME"?-7R!94Z!'7M;)>EE&6^MT2ZN,;PH@Z&3Y8F[YQ<=QUZ$PO@$V8K$:,_JZ
M-NS4X'KUIF"97+8Z5,J?Q-GP'=2F=< NU=:3*5L1S[U:OS;Q9M9-B7:$-[3V
MNQUM,"CM@+P72=44Z42"B 11Y7>O-D+NJ"24T=>&@_*BY:<B9G)&T/>A"3,L
M>G[[Y=AI6#F2N8['+R9*E^A&Z[OW.1K^$8G0&<]+9)[C&NUBJ!]XSQ..")D_
M9C:_#W/[2)@C1,1M=C]GX82SW]]^><L>4(I[&'=Y#RT7=E%NUA- 8@)@F'*8
MEB5O"1S[JK38\J>  7CZ/3.+-[8\]P: D M#"8!J?ZHWS7Q %3X:<(L[C\B<
M\#5@KF]Z@CTY, XKX+83,NY-3,_B:E9FKDYLX87)F*&+9,C^/:R1&3KP%#Z2
M$4?U@N/"&>9^%S-X%EK;\%(8[2QP!#P43LR03<Q'GG\4IP_"\CV;+A87;$9G
M$>+"X-M='\13OF/X?_GT>_EGL5C;O="[ Z0+U4NRGI/)9SV*MVSDNOEQF &'
M9IX_=3P8ALT<3['/-:Y2(-[NC(R\1L%@9HFP !8?P_#\)^B?25G&1#2=F@$\
M)R0"KB2'SM-,3_\]S/31=%Q\^ +H<B%,:)6+30(G(R%7IKO]\/X9N?/,RM$U
M9K3TU4,WM^^7G</:A!,_$L ,XLV[G5=FW4KDVBR83"U8/2GG' \X17W/=^KY
MP13&G%]P'9]).U9+9''7C9_Y\:QU)K^#+K62[P7$N', R>PW_L0^^U-SQ1!]
M<NQP\FXX?#MH=5N]@6'T8'Z#[G>)4I>29B;XN^3#^V4%G0TQ'Q?(E'RO,$:T
M>6A!C;#3^>YE,Z+09E'M]5<V-P[[^L,V/^[1T^2/9?(49'QEYJ!]@+*4%VCY
MO(MG2<,P1XGA+G;-<&U ;33U@0Y@(Z_S6JY\$5*4B3BQ<D[\.?"%6,>%OWO@
MIKK/\>G/IN-MD_PG1B5&/0BC_@*MMSJ5@SB5.'4W3KTUG2 CZ;]--^([1')I
M9T_NZ(/T,-;G0R.[<N@>:7@,T*X-L9HK$XGCB..(XXCCB.-V)6)9]9\EFRKK
M_(_J+,!&;2[8>0M<M?MQCK],Z'BJ@/1V3^NW>F5-O"E%/A22(!EP,C* [N(F
M]!/Z3Q7]Y^UV::?1K#+YT:S\&Q(.Y7NM#=NZC\9RNT]'2+_:BSZ-O?MTY\[F
MR-)[6J^\4S%HBSW%5 E<22O"%>&*<%6%Y[2':P[(I2+4$>J63,4VW8%0H7?6
M*">,;HQ;:Q9VZ2!""N]1>&^)&*6>9TNH(%0<.2K.#;TT)4'.#$&EP5 !B\J@
M*W=?[X"<1GJHZNO9FN+P&T- U>K!+^3O4S"-@FGU<WD(8 0P ECJ/5&&B#)$
MA+G]&XR4(*K./VN4&[:'BTR/##]#3>]U*8I!83T*ZU%>B%!!J%CCV93FVI '
M0TAI,%+ GNJ6=L]&4S0'9876G+ZV>#D!^?GK2=77.JW2LJV-=_,IA$8AM,V+
MK E6!"N"5?FU=*6=M$3I( (=@6XS,['=+RV<W7A]]MILT'%[7[_X..ZJCKZN
M@%+'('$H[D7\0_Q#_$/\4T_ZU(Q_FG1<]&G$K.F@J\UKTUH#K3TH[<#%QKLC
MY.F3I[\QN'KMZL-K!"P"ULD!Z[S;*ZV @0+7A#I"W::V8J>\RJ'&J[03W\A
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
M/)"6(%00*E:JS[J:/BCMX(NF ((JIPM;?4%8<NBXNKAM4[(A?:W=IW.K*B<
M::;3@Q8X-CVJER9H$;0J.&VQU:)Z:8(60>L8P@\$, (8 8P 1@ C@!' "& $
ML.,&F+SMM$?8VI  IUU _6OD.98S,UVJH8Y;#36]2P4/6\Z3]$QC\4 %#X0*
M0L5RJT''(#00&@@-I",(%80*0@6A@E!!J"!4$"IVC#H-AZ7%;)N"A^U"LY0+
M>1W7W/N!S8-D]NW9-V;[T;W+V=]:\M].!%R[&O';L*D.KQ*^Z]CIFPX>&Y=?
MG[A<]7O?M54WY=UU^A*I7W,9:A64+5'<%9.VW6UK_1+/!M^9P+7A2\HG5VZ)
M5DU%$J@D4 \E4/6V 28E"502J"102:"20'TU:?M];:B7MZN%Y"G)4Y*G)$]/
M5IZVV]I +^W(")*G)$])GI(\/5UYJ@^U3GEG/Y,\)7E*\I3DZ>G*T[[6+_'H
M)1*G)$Y)G)(X/5EQVC.Z6J^\(R))H#Y+OESEU/>A"70I?+[@\P_?1^+BP31G
M[SYXCUR$4^Z%XH-WS>_#D6??_"]RPOD'3X1!)/]R98H)_([_P;\]FB[^^KL7
M<"#,G]R&OWV./_YL.I[XQ1>"BSN@W*7K6U]_^NM??DC>]QM_&ED6+%@([/XI
M\#WX:''Y%GS#Q/0>.(PD_XSC6<[,S?4'*^;ALGSFXQ_/;J^-EC[XE_'?N^LS
MYMCP@VF%%S=#0[\<=2\O>U?PP&APW=>'P\Y(UV^,F_YEY_+LIZ5ESB_9G3/E
M@L%(V6=_:JXOZ,HU=QV/7TP4&G2C]=T"P'6$<XZ/_HA$Z(SG5>(0![](W6=Y
M:M.9#"J<B.S7YI8?F*'C>^\ TSS T:C^,HY@7T+3L\W %NSWF6V&G)V/OOS^
MA@$?]"Y:AL;.?N$F\-]9[:>L)O;E]V3HS )$A<![=_[,L=B@ Y-1<WG+V-V$
M,__^#VZ%SB-\&K-PXJ04@$^ASP I 3[.PL#T0*8%\MHL(!8@9@I?S7O'!60S
M<^H#&?W@P?2</R6U!;N?LP"(_P"_((U=V8\). Z%[$']X#JJ#P<&Z7LP!,[N
M3=<$)F-BPGFHR6=M1UBN+["?KWP.PQK[P52^AYGW?A3*SO"O9A @X"6#RBG"
M/) >YFSFXBM@3J8W9_!G''8X,4/\S ,!?>+?U*C@I6XX\:.'"7R'$4/#)\=U
M&7R2(YSZ M8$5L\9@XJ!];&4F(F).@61!4,>CSG2"R;$PR?./69% ?P0LI]'
MHT]R6NFJ2')#RYA@<F*P(#O2C %UX%<?'Y6+#0H!.H'!<AMZ8_Z,(R2211%,
M(F-A>#B3='! ?7PZ<J!WD<YF['CRE7$?.+SECC7V-'&L":P*C"RZ%P"S$+C6
MG0/Q@(G- -<#AY^,SU)K:H%^ QUGRHGDWHX]I\0T9TYHNL^]OGA>M]#G#'0^
M3$XRL>?@0'$4#%YBRSG!^N51!*L#)D ,%!R3Z7D1O!O>Y_@VDN3!\3S)?V,8
M.+OF("/OX8/>U;"3@>)B!SG-F:;-GAQ G!>OU&*7,,Y1PH)APL3PGX"#N@Q@
M&8%P]SQF:YM%BOF!,6VUR@$/ U_,XB'#8X%O6A,US5NY<+ .K% $7OKP'_6N
MF1^$W'81<+(E+CF@(#0?D//&\)"(Y(N!6V>X<O!7*2D4!T\YS  XSG7])WQ,
MHBY!(8Q\+CLU :RV!.RR# )6-6'UII%KXC0NU!HPTT:9B2VP(Y@IP VF#"8/
M+@&2[E?3,Y404+A%]>YX$<?G05(YH<1',A]G"L8 /JR8+V4">-CFL&)3Z%Z-
MU%:SC">&:Q2/F3,YX&3\BG(: TF0#F0"LTF[LV4;80''IC@7"!&4Q@DH/%"Y
M9K9"\=(K2B$[88^"N] "80T6Z3A\0J3-P(2%MTHJ ZI$*!E-,CM(#IC9(H4<
MD2PO,(D%X@Y'%/!'A\M%@]5+Q@>/R2%KJB\NAX4-ER@8DR267MD,DA'&,CT
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
MA-"_I?KYL+1B5RLKG""LE!EV]BF58F[$&*VU*#4RB(+Y;3X$G$_C"[(!HU;
MT>/E'BR\Q65Z59I+JB0AQP1: MCY#&T6L."Q[D(2#7D&(9:\*#< 8*Y9% !X
M ;'2.A$5L4_)UO/+O/,IAY6/JVA/6.NH&6FM/!")5A"J%B19;I1&B>JP'1BE
M!^ JD-2)1DPJ1T2^["3FS'!!Y3Y$KAD TPG,]</_SDR,U, /*)OBLI^D;$1D
M[UXS ZQ0P=(;I8DOTA*EE(/!=H[47.58\"58MA-(18A;[_'KO>,I;::T9,%$
M"@<')N^:<2']XIH;>$/H _NE(TDD?3)$+-&"D3L WD3++=+/E*K.?W2P$&:I
M,3/'H=3[/.L?U".8 *X_Q[M@BL9MIF1?,WRE@07/46]Y$(OF GLT X>KRBC'
ML^%O\'6APBJQ'"(<-$=K(O ]QX)G7/\!%QD_(LG-"/KUL1PKUQ,,J/ZZ2K;Z
M,G%FLZ1\#$P=VTWKR]3^)YF&6[&8'#1!Q0Q-*Y3<TMI6A@(8%XH7@7JJBDK$
MM5>J/ \7!LOH5E9Y'>;OHU"6$.42%[(J+%WTW&"Q\X#_+W("M>I)<>&ZZK58
MF"R(#WQ620ZYO-!C7+9E*[LEM6-%[E#U\FJT]B9N;1\()E<"JPL%3@ZF'CQG
M=DM0K3,VY1HKL>A,T^*^G T*$TLX(1'<L(8?QL44!4M\["_VE8K^K 039:,+
M%JTM*Q23=V'-8,!=64L'2RLBX-ZB?F)I(VOS"DI7Z[^H:TR&ZR4;_RYGO7]"
MZ_WXC(/$;>%BC3]BJC]DFS@7_3XGS'MYP&9<2>PE#R\6 D%<%/R,_[FD$D?Q
M:758M:<J7Z4?G:D=[!Z9"AJ;WV+>@W>K<E'Y;.&\WAZ)'OF@3)/8K4G\VUC3
M2NM>K8RFT"BU>L#O 9(YY*;^>%QVOFZM594U=Z2\DG7J<FF!D%C_C :__'6*
M->NN\U5::VOX(DQJRY$?0(J )<(]:0'(BG6IMA(C;6PF=M9"'7GL_Z>J,9E[
M5CR?TF"))[TU\_,]]'+\>&HAJCS@7T?JJWO9D3*TF(#%E'$=+Y12-  .4[=]
MQ(XV*C^4\;YE18'27]AI!.,.0M/!S+]2Y;[[*#WL_$RBF2T7P0FSR6#O:Z83
M2U#N24.5F[#, 4?[4())%NLH[,G@3+Y\>!UA:\_Z:^3O:#%XLB)^D[5=X\H=
MGW2.HT5K 0OSE?RPQOO <$!.=/"9_%5M',$_*V6. ALYPX8IH2N#'IF2T_@*
M>-H!DSR&?JP3P@+35>WDP,:IJ9>3[7D/#TT'!ZA@!HON0_IC(YCU<RY E\2
M_Y,$Z$9Q@&Y=T &UV)<D0'=\?%L049<R$J1M8@J(F)^VL 722#H^MA)P6+1R
M8Z$Y\QU/[4-!^S.5TZG;[-^CM(XC;+Z;V-%R-$F # /N:8Q,:J]T&\UJAQ/0
MP"Y_ '4A@]T:FTWF0NY8FOG2'X#E5;M^ D=\5<(YX$\RF8#;B9X\( WXCK$3
M["T$\A8#"S-S'H?/TZU.8IE*,3&3J21.8F*R:XN3R]$/]V!GAKM4US&0E;J4
M 8!CB!POI*FD2[QAG&@;?LK'7,!44MN-\ORSOFD"&; U8'W_X,D.M-0PSX)G
M,M1K7T@63$9>G)+(>7)3/(%%;D;+<:FT7\!# XVP2:9#YE4?9)0937(7MQH]
M+&90Y+8O^5:U>R^' ;7=;A4&"V!+"8*>;H V8T+RY T+ 0:P X%3I!&($3.%
MJ 6K[5ETY:(22W$T:2)*"L?KJ,)@>0;RUT7I<JYQN!0V6V2F9H'K@\=BJQ?X
M)=;:FDP=9FPCV2.VX%-B)_##M9:\*/DOVQ HDPTYSGR(3,SO\S0@BIO?%I=/
M;1E%MH:V 4<X)=*:YW2%RH_Z2A9R_@RC+>),Q56V@&U.KY@K)A'J"K7A-7&/
M"P*[!9GH[61![ =FD>*,U+BA5"9[Y'96-;GBE5!A7XYA6SOV[7"[<(B;"!X3
M5S,7;[)Y/!W,F+M%+S\:]KZ-56Q1G'/5"LEG"[24(D%6'B&?N(^W>F>J5SF2
ML<@3YE3)!B#2[>8J2V,3_PF]52UC$0F^E7RWA&,L:*1,2P<DP\Q*;]G.&"6D
MC*$43<0*'&E%:/%V7VR/@1\5/D@Y(&D*;XD\?$_V&TSO"AYQDEBI2F/FHJ&*
MV3),@<DC)R2'F>A7<)OGN!\ZX _2N(K3!7-E0N7LQT_@-N<[R&U33A5G_H@R
M)$Q*,1M<;A#[0FXZ1SRI@0.O/TBAM)@-T=*A+AA8-M"AW<(GARUFFW.AJ!M3
M?S%,\(]\WE=J5A0U@?/@X/[I-#)C1T&:LW(QW@QRQY,IJ3DW RW1_8&*^LKX
MT S[E,H8>[$=[H4+&]&E8.)QN W&"KC"MOB$VMJ?:&ZION+0T!CWS(/VEGYE
M2D[Y=C^)],>!.LN?@M$?[_E>B(SD_ ;4'WB0AEJ%Y5,-\C&Q)/2=1:>!=7$O
M>Q;L61[/.,+]]WGEHF5&DNPHR4\D-(@/2I!ZY&A$UZ^F9\;ZEW_C@26#\W]$
M]H.2"LC&RV4K63POP6TV^=AZ22(.CH^4^()AQZ1/D>AX3:678G?#!<=>T5&+
MD9ZF HMTKD+@7*X(V,R8O<X\GE3M2$#!_RSG/I:B9VJ6$=<6IJJLS2<?I=+4
M#W@.:F(B QGW/,X(HW7BV8794^C)S2O:I3=(.9CCU&F^6 PQ)H5^@)Y"1I6E
M=)'8+O%3/(;5#(VS@%*0B^HTQA?S[%H2L%Q?P"3)D_6=FD'2SRX.<6HK;+@^
M'I6$0(L'6#S_Q I#69PSM909+A-34O6:2S[:>,G^7*"#Y(F555/&5*&QM61-
MY<RGYT-<J^6N+Q:PYJM=OU@3;D<N_S@>/9J.B\0'D^(+".(O'+A/:CKLR;,
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
MO_A1*$+3DT] JR=X6-(S +()]F0*S#".?1<TC=R[ HW\2$ #\>;Y).-SU-B
M@@OZH)50S/% U:GO^4X]G*Z[0&0=GTD[EBA@%G?=^)D?SUIG\CM W$J^;[_V
M3XX=3N CS"D6.R U7',F^+ODP_ME29$-JC"W;;0*,UR;YY3B,?6^>UF>%4K5
MN'W_E>T/V[QUU*-_9?/C'KUQU*,GQMO;ZX_D\,'J'(S7E6L,7WD:Z-[+K"Q0
M_3RH,DXP$H)C=55:;5663T+A >*[9_CN%\>\=UPGG._">R0&&U#5MU=VNS1=
M],V/EUKU%6[] PBW6HDR#,\P&9\A]B)A1<*JAMQ$PFIW847&5L6IP;W8^W62
M;U\FG(?85U'&YQ??DF%\DG[E2[^7MJN<H!_ZS\B=,UUCF$(CEB.6*Y7E9*MK
M;O'I/0]86[%9:26=Q&:U8RW2LJ?+BR3R2,L2RQV=EGWYY(76<R<O[+,\MH"D
MY6%6/ES"$0RT1:..IA 1C@AW..US6!E9.\+5AEC$<:? <4<2P"_/%KRQ?,^?
M.A:;@(W"5VN\C]<#*8]&GP(^,QT[XR;^;<8]P47V"][0$-],&Y]-8V*QV!&3
MKUZXK((^!\^8%?O_I>T+JXX$E>]Q'906^6C*IBT2$"<H($Y0'LA6>FF[/0G^
M!/^FU=B,+"O 2\!2*_1H:=1\'CHXQY"-N=;&)"5# H($Q G* V5CM@G^:V.?
M%9T+LNW1'<6G@MPD]Z-^\"Q_RN_,;Y^AT\_<\J$[UY&U.G<X_FV. +D<#6^Z
MH\ZMWK\:="];@];(N%%'@+0[W4O=:-81("-YH'9&KN2XC]\]!U/6<I4$&W.;
M!Z8+79MA%/K!'.@8S/P _LA"\QM3'WS9\LJ? M?/TPLO^N\%<^3ZR$=C6U5C
M?L"R^VV33K2EDT3HZ) JC@X!)B[CZ)!N^Z3/0*#1G\KHCR07N-ZD&.RB) :O
MLH_3H78KN.VC5F6:=Y. \XLI_&V2RP/>@!JQR=\JS=\Z'7[ZXGR+N8EMQ40D
MI5[!5<8IUP(7\R&5GU<KR$Z:Y3(.,VA_%W$8"35BN>-GN9V%VG:FVQ8[:%K'
MG>#^D,4-9X'_Z B,4)KA1O'(LM!=:E7TX5,>Q6+1T/=&KB;<$Y')R.]JR68-
MTRZGA$_9JEW>O2[-@B.AC]!'VK$V<"3M2/@D[5@;..Z*ONW=ST9YF;+()5>C
MPH7&/!YB*4SB:-YSCX^=\) 1H\.#;XUR+)LHQX6YO:E TG1-Q)2J0#UM"!%B
M"#&DA4@+$:9("QV?%J+<73$I;_T Y)&7[0^PG?&8XXDHT(+"&]O<\UY:<4S#
MXAW%Y'I#4<=#:\&&P5*AL+R"H8;!D%!'J"-E>&@4DC(D6)(R/#@,MT3=B:?>
M[L YM )N4VJM4->=>$BF:I5&FJN)6"+HE.^3$5*:B!32.J1U"$ND=8['^3F-
MU-FU(\ IBO>RQ:6'+."NO$4J]*$S/,K,G\D#N_@W'EA.B:>_-BQ>4;62:UC\
M@L*(-56+#8.E0N&04$@I-0+=@74A[:<A74BP/+0NU$D94DKM]83ZB)?/G78L
MIEANTQ8!VB)0!^5UG)BB+0*T48T0\WJ!>^(0(BU$F"(M1!O5:D3*HD,F2_/$
M%XX[;<^^,=N/\)Z8Y+S34B,9\=ODW30K)ZL>'KQK%&)IM^^]GMA;"8(JJ'V$
MBK9&0<P*=0ZVJO)&11(4RZW*BX:26*C>A:V1%#@N.YR _[*%4%ZM#HF"T[80
M2#8<K6PHNVR/1$$9&=;7WP^\_26^:RX#GLY<?\[Y%QX\.A;_,C$#?FD*;N.%
MM-P3LJ.1"QW(3Q_'^(H'#VA@?P),^_"<",4V-P6WN\/1=:<U['<Z5[K1Z8V,
M5DO=%-P=="]OKYIU4_#=A,>W\L(KF;KM=A9P@=<YRXM_957RQ3V2'(B7T3RY
M\I?=SYEEJJ+E,=[^:UH3-I.D3SJ"EO!'=8NP)S%BIK<0RWNC\4S6C]!&=BS8
MN8-/^Y$P/5N\H<N"*[DLN%?*9<'MP6%OC'WM7<5'W9PF?[2C?V5S@RY*/DQD
M90L[-1ULO^E7V^:O2M[N<MOZ,5'M7,G38:.3O2'YL.*I?<IW.Q9S(ETG6JTH
M.VF6RSB,[D@F#B.A1BS7 );;6:A55KYVW"8=1JTQ*AKP1^Y%I=UZO%,":1V]
M#TZI8CGW][*(]2*CU;JFMI@XW6[U!^WNDR^>%>=NQ<5=]1%$M=.*)R2%2.@L
MM>IT.R1C2,:0C"%+YX"6CJZU20Z1'"(Y1+9.A;;.8$ RIKI03Y,B.I^Y +I9
M$XW9_)&[_@PKWS1F>C;CWH/C<:"[][!+X-$X;&*X<DW>UO3R-'E3P$21^5,$
MB&QE:'V]M+/]" ^$A^/%0['"Z&O#7FG[3 D@!)#C!8A*^FAM@Q3&J[V1&L5
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
M1VM5_FWMBJ#5@RS*0M_5S5AU^PBU=8+:$CNN?]CEZ(H=10"* !0!* )0!+1
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
MG>Q[[=S:O!ZDTH3;-)P%@GM@Q%2>I<(O>QS<;+\!:L?<(_.SFP7%X:^<.#!
MA\)EG3?<A@HXNVR[*C/TM[Q;*M'S[IN< ?B3,A9X EVDG7/;-WKS[ RX%(O@
M<S1AH(BT38E;-\S*K_SB=RR&YSNI';RV8M<;*YPA3,D,.X>42BDW<A?>694:
M2XB"B4L>0*E*K2LPZH04U#" #1;>H<*]%R%(:8$7F$#/ +N8\S @MZW)5RKU
M$W?^ &+9BPH# .::)R& %Q K(H%11>RC./#\?=[Y5,#*QTVT9ZS5:$;:*@^B
M3"N(^2Z7FTNC3'6XPM4#<)5(ZDPC\L>XB9-RVU*O<,Z,5U3N0^(1[M!%O%0#
M_'=.0)-0'@$*:>:9IR83B9;OWC(#'A&2\2S^]2("O</U\I*#P4Q-Y%S%6&2T
M"LQWH0B!U0G_>@].9!8H*)](Z> "?YNDY?1SJ0>6(8]'Q$',7=]T)'E()QTB
M3.$CC!S<\%S+K=*/"%67QI_6;M9$+H'X*7\^J$<P ;Q@P:-I9>,F.=FW#%]J
MX(@6J+<^B%5S07L$BYC&(M *5C'\#;Z"I)%ZN:"'HX0/FG)K(@Q\YL U7O#
M%YE_Y"0G"3PWB*5GE3T)!E1_724CSE,VGXL8",P%3!W7$U] TS_*L"Q?@TV+
MB7$3-)ISTXI+;F%M2T,!C(LHK= *[H9<C-3;B @OZY(Z)ANKO WS]TDL*L D
MWH1YGHC%.$$41_FB%P;+'Y[':V'5TYNV1F-28;(B/OBU4G*(Y0UI5J?&E79+
M;L=&2^.V24YRMH1N  03*Q&!.(WXY&#JX7-FMP#5-F-3K+$4BVS&B_[P411M
M4)A8Q@F9X(8U_# IIRA8XI-@]5FYZ)\20-L]I;Z0C1Y8M*X('6;O NXH!KJC
M!+BW[#FIM D3+GFDX(_93'@QG%?KOZA;3(:;-1O_KF"]?^+6>_.,@\QMH=$6
M?X3(/Z1N(#<*5_P^%A>]/& S*B7VFH>7"H%0;N<\YW^NJ419$H2;P)Z7!E&X
M'[U4._SQG*G@9O(MY3UXM]SQ$->6SNNR(7KD@S1-4K<F\V]332NL>[DRND0C
MD=MB]P#) G)S?SPM&[9MK9.(KP]E0E[Q2_+(U2/Q$F[PRWT&$ 2:Q[X*:VT+
M7TB7/^4'D")@B5!1/%Q+YH$<56ZD34AF9SDL=)(9KS.^]/]SU9C-?5G\+*?!
M&D_Z6^87^-XBXS%8-*[R@'^9T%?W<B=4&%HKNT1<BH; 87R.N:/-E1^7\8'C
M)*'47_RA"8P[Y'LE<:;* ^]1>-C%F21S5RP"#_5GD^%/WS*=5()27QBJE, R
MAV*?3H!)1$XE]D1PIAC WD;8VK/^%OD[6@V>;(C?;&VWN'+-D\YIM&@K8&&^
M@A^V>!\D7A$=5.Z"WA/A\_A"4G@D[=$&7 )3XJX,]\C2;7=X'%S-P"3/=C&D
M3HA+3-<GL5_-;\Y-O8)L+WIXW'1@0 42KKH/^8^M8-;/A0!=%@/^,PO0C=(
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
M.#UCZZSD8S5TV(8==M "RP4-W";PV<S;(C?0CF,U*Q1\.?\NS+\??Z>_0P$
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
M/"(V<.0"@[$:YQ,-TE(9OB, /&OBGC@SZ<RI$;'0S&/8218\6:=@*>H<0(U
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
M2L,TP(C33EDF %:04R9*UY\ABM5?,<IS9U-OH/9%O??Q?.7*/Y $_=ESD;:
M2J6X0$("YJ$U ):R,.+K)_. X-P9T@2HOI2^:SOG,1#^KP&6P.?BI$8AQT7R
M)'H^"W-K<OW4> PR7USM/^_0U2LC!XG1%C'LN0=80R%1.:(;3T"#>)VS]Z\/
M!/-3L[J0+!A_LU&>3Z^FXY6/;V-<^J >=6'>KJ/\+ZX>(6A Z\;OC(AEO BT
M<5!2P1PR816_P=@VN T3GOU^P5! 'P*Q@S1% BFSR+(B]="G;!060>.EY,ED
M^=?L!0X-65W_A9&%%B&+&68(>RB=X+X,$S V_+\^I<]^)V(0B'=]4*GJN9D3
M'N/)+ZZ*=:*?I5_[.;_T[,W?ZW\(;3BM.B[NXFQ)[^[T88-U<[]<U+U-\GFV
M6+ZYW[=M_;(TRTY\:<7>MKVK<,*L6@41)H3BL":VGB$$%<+&>R4]HL:!,*RZ
M*M/#"1#0#W^-)]?!2/X8K\;A_&9ZIQ]6?><QKBI=V2/Z85ME'Z?Y'X=.M/77
MB(@Y[BQ6%@@G!<2 8016FK 6"]UG_-K>TW)M$^NEZW"HB _Z=-X:%AOGP6A9
M&2;[C^5M+Q Q:)G6"''(*&.&,\C66K-A_=G$6CR:A$>=QQLB:](.$.]K]?-]
M8P^>[-I5).+!.(<>4@>U!MPS6:1G74N(("##/NK75&T'6= (I=?(A]/PX,!A
MOZ'0X$3[H^MVQA.5KYO^.#0>//U1H71$H-2>,$VXU9P7=]TR4\KM+.GU?I1J
M7HKF*OS.\FD;IM[VL]*P*BH;?Y .6YZ.)->.&*.Y8Q@S;Z0E:"V75][6'Q,Z
M\[NVKO[FL/1XQF>;X70PG?7.4I&0P$L'H=6&&^(1I :7<AH@Z^]]=YS7^@S,
MSO9@/S&]#AH<>\M%7@$NK.>"%8%'DA0Q*1M9D4/#MD);T6(U9C3"ZW5S9)"6
MZ?"H<:)XKO46PGK0/9R08MOS$8>6,ZP9,52+@)W2GI:R223[O*ZV^FY9&[IZ
M&7/5 CJ]A;:/9G'^,;Z/DT7\:YI.BJWEP_G0=Q:*BB2#B%!HL<<,>TD]AZ64
MD)#Z3K N@P ZX$!K$/67GR*/P[MN5#*QH=FS]&Z9GN=;$:1\.$E!A=(1$DP8
M$606G%/)'!"*EUYMC(9XV5HWU&@?J[XX\FN<Q-EH%AJN)K=!#\'27H665F1)
MI?(1L,80:ST)BW3*J-*&RE+V\$/]<\=='L'K@"==H-474UZ$@)3+NH,,V5LN
M@DQ[!AA!6"LI(600V%)6X&']I6Z71^LZ8$:;*/7G!MVSW%\?=?E7<3AY5V31
M*GX]_/FAN"L@3<*$6G?SN>;K(H%##X/6"89)6!,H+@S8[,NZ(3I:3[GAW _*
M0^'O.H@SGBS#-I]D(C)OWR;SM L.UWUEI+!U0%KDG-5$:"[#6J1$&'(Q0(_Q
MB7G<$])#B,\]'(]\D3S"U7W(^=:W19@J )4QQ2U#/IA 7)G2/@Y+*%6?P9VM
M)3IF\.E!'LI O)ES5@"\3>(7_;(PJ&^+\V_NVWBVF*PZ]:;S)G&>?XKSXG!<
M2Q9&&^V('$#((RZ]AG[E/;!<*42,D8(I5#\I5V>+HJ&8'B> O_^N\'@@ZO&[
MJO3=43;"4 B,.06>>,"AE09LNK]V#?PUG:VV>J-<.Y!U?'QA1]SV\$*S0T]<
MN\I5T?=6]UI/\R)0=)'%]2.VJ]8;&8C#&AD;":TG"%JHI0VK<4B!0-K+2AZG
MX>!5*RZ[2IV1-81HA[SUW#%+-';0K'$"#JH^(UR/#[-NGPU59J0.</TA@JEY
M$0&D!/+:&\*,(@;+-2000F'/*IBZ71)4BXT^#L!SC(65V"OD!:1*(LT\,4Z#
M4D*+I!QV5$I3M54-BJV'TFODPR C4(9"@]<:&QW0TQ@P8"%15& 'BGW4M=P!
MCEY)T3 XMK(*:\1&'P?3^<1&8X2UL ((9L**'5#.28E9@-+4#TGJ/S:ZKOJ;
MP]*_.^/]HFCFQ=43&^JO\6Q?IM^#92/&PFK?\6#0>P:9(L@[7LJL5(,TF_UN
MWO6XC&D'R;[8\]OHV_1V<?LQ+K MPNY&\R);RL/%U8OM\B>N;KB'4;7JBX#W
MW%K#"',.4L\%L.7$C1QJX*?M=VNM<Y;U@6[/S'L7)]?SFXNK3\'X*\"+EVD_
M'T-!XPIL.UQ'9!F#"AKB'*($8X&,0FL,,)(-\DOWN_75%\-:1_047MN+JZL\
MGA>;$2H/'_9[<3O*^'&QF.?S45*D7ULG#S)I,L]&X_6%W8/Q+!_G+WXDFD4*
M:P.5$()JY +GB-%"%L%8UFA>R4#H6K;JOMV54\E+9:W7PA'.?9 #(X;7,BEE
M0/U8RLX\MC7TL=. J8/!#^%=Q91YRCTG80)U""-(-"HAD5B=@7?U2-56\YD>
M!\LY^L@\5\)36]R(:J71 ;$PGZXDU 9;?I8^T\IJJ^HLJX?2:^3#.?E,>Z?!
M:_69JC","H40!4%<1#1EVI=R8R('>!MD<Q76\)D>!]/Y^$P-!EA3J+F$C'))
M,%6BE*O <'@NC-;5WQR6WD[NKMTD!^S IX]%S#)II T6->* 44;"0G=#7(_J
M[XGTEC&BF?77 (SCU)K'XS]=I_=OQNL7KM1:_O52I>7WD9K-UDTL?"*[YO9]
MCT>"$8,DY51!QY7%IKA*:R65,0&=8=MY]124=H;+:]'Z(*VYTRG[!$IVGS_N
M4VKX.3( 6<C#8(:+&ZR9=(R"LM4*]KHV/S#]M@/^2TT>CT$OFON_'_Z^3W/A
MYZBP!2UTR 51.>%62,/+5B.IZE\RT[KAU(WFCL>@%\V9O_I]F@L_1T"(X@I!
M((H\<%:28%B0LM66-=!<ZWLJW6CN> QZT=Q?/^_57/@YDEI2X0$AQ BL/!=.
MT++5G.@!G8OI1G/'8]"+YG[5'_9I+OP<0>HD)\H3!"PAD$M%RC&^N*FG_F'J
MUH^7=*.YXS'H17/_[^/O^S07?HZ(EJ'9**R$)9/ .,'!IM4 -<CQT_J%M=UH
M[G@,>M'<I]_M/LV%GR,JG+9,""Z,,% B'L3<\,W#^JZ=UB]O[49SQV/0CX6B
M]FHN_!Q!IW"1A\YAC;R!1 *MRU9K(^OWN=;O2^W(0CD:@UXT=_GK7LV%GR,%
MM$+04B,E),Z$BF#I@[14-%B4MWXW:3>:.QZ#_N--EU$U[],"X-%L=2JX4I#%
MEG(1"O)AZ*!QFG)3K(*87<OJ-'(-[L'K/C[K78O!%\VQ.46DU>7X)IXLBMOV
MMOY<7*>VN0C,3Y-1Z"*CV8<T7[[=CZ;9\JKNP<1"Y9LFO3LJ*FI+N<@+QAPW
M #$)!9 >6P6+,+FB0TOB*N7<Z$;>36.?7$N5Z]$L:">^O(GCK8FBR^BU3Z&Y
MFW333[:0#H5:=??2B#GIM&%0:*<98*%G*+!"6CM#_0"CMAKQY65VLZ$ ^T.$
M@@GI#$$0"$8QI@Q1 ET)"0.N?DZ]CD/!AL"2:E%EQR%\CE%$6I/0LRW!2G/M
MA6(4JE)"PO5YGL2MK+:JX43U4'J-?!CD/N10:/!:H\JLYQ !QA6G !NED#6^
ME)L#-,#L\,U56".J[#B8SB>J+'0A9,,:$FO,='&61Z"U-:B]5;329:D#B2JK
MJ_[FL/2E[FUVU 'S<E>1*-C]+)C\WD$L*9,(*EL2V@>1^U3\N1N8+6%\2A8=
M-"IV%XJHPYH33420D"HAC*&RE!)P:89M9C977@4V-$+JM?)BD.;FD.AP&AI\
MR.*[T72ROLZ@.!"\2F*[W#B8KPZZ'C0UJE<2!;$EP5Y1)(6'TD*(-_XHR%C]
M@].=&:!MJ#3M":_#K!E?)]\*+@C P7H;+7P3J?$X6\2;%NW4^.Z'(PD "T:S
MY)Q3ZJ@$1NNRI4"( 29=:%&SK>%RHFVW:AL2JT<C7.1\T)AJ5>3=I46<H2\E
M8I;W&N%\[.9:FS[RAL#TK^IWT]&7Z6R9Y:&2OI\\'W%NN282:\N,*T+"L2ME
M@S+8T</KWETKO3XZI]A372YZ\N?M:#-;13I>OB?,92Z93^</;Y.K-+M=CJF=
MO72CUM_B49&P9"EHOV];]?P@]1,VK'^?J/FFR$7R,2Z",<)"5(_RZ:DS0&_:
MM:_Y3]H<'GB?)MDS$=Y5V,MN]3V1U<9B'?H6"7TVF.1 ::NLT3Y,K9[82DZ,
MX>)9>:N[Z3N"38F+'(-$.LB<9\@@0M<X8H4:!/VVO+-](O;LV@GO&?=!;WQO
M0-$/FX]_G<99:/3-P[OB0L4#GLIJ%42::(N-1]Y92P0$U%FPAHP8:?J\T+B>
MW[(_TNRB;9L ]V6R;IUJOQ?CH+_JJ'HB"KE3P@*BN0YF/ IV? DU@1X._(;U
MMA6^BT\=0OECTVN0'M*S8M6)V?0VN5O,\R4H\/ EJ[M+1<@8++G"P4R1S&%B
M"94;.84;X!67'>EQ%UL:8W9*;J!:W$"E0Q@2B_DR/[AP5FNOF%[+23%D SK?
M?'INU,/LE-S M;B!RXSBFD$'B8)&A2Y &53:E')JU>"42V=9:4_'C7J8]<X-
M_? $&9_%_UQ42#14H71DI02&*A.$1LI2B;3S&[DE'GY$R!!65BVA>TJ[=]/N
M6M;NB]*1X)P+18AFCBNMJ0Z@;D;:@/;9+*&::[:"I=L.>C\.>X:^0AHD:89#
MEGPS*%>W<O84CT@8N!D/AIUPE#&G.2*NE-S:?D..ZIL[M?5992G=#+*^R/+;
MZ!]I5D1KYL6)SR_+3<1_+J;SA\NB^<N9_8#%4[&&2%)-&%9&"N>\M1IZ6ZX2
M&6 -;C0\WD(^,ZNG&X0'Q+"#,UCE.L)Z,XSVAH>5A0!$*,B\%24&AC$R;"NH
M=4T?SZ1&./Z8G!JD;70^5#H-A4R:W:79:![K-)D\MOF@>;2W7$!3(<.A8A0'
MBS. J=1&5J)[O;:WHEW4@1Y?IAMN$;&^V/'Y\E.VG-H?CJ#&[D(1ITYY+K$A
M("!(+"IRG:VEM$@-,(2O>UZT!E=?I%@:@'HT_B,^9L#84RHR CE+" U2@6 -
M8HL5WI"?\OK+J,Z\QMW3HCV\^N+%97H?+^_L*P Y@AE[RT46 ,L9,[((E?+*
M:\/+]2+W4M0?,EK/[-D?-]I$K/Z!C>O"95!,9H<.:[Q\,#(0,NZ)09Y([C3'
M7**RA9K" >7\[%ZGK4#4VX)CD4S'T[O1;+_:]ST> 1?8R#'QP!-MJ*?2\U(R
M#&%]%VOK:4/[Z] M -7K[/^X0?IX5Z?ZDB_//!^R ?:5C1P. $*H!+$8:^TM
MM1N9O="]^M^/=*B>-$2X;61[&U#2)'[X;93]$<_](E!?S<THRQX",$LY]HTM
M^TM&E ?;B#H$')',LK":HN4L*(1%?2:TJLBD%G7X<GAI%:O>1IK[T716>(Q]
MFEV.9O&3T?:9V;-OP*E8122-Y-0(( ED3!K+-"Y76H)07=^WU=G"M#NV= 1:
M;_M^SR\.+U-Q+/': M>^+<#C:HK"&HQ Q82%"GFDL1"\#$$5'(OZDU=GR]CN
M2-0M=GUQZ<E47L_BJ59!A+6UWA6!RHA3C)U':-.3O-;U'2#=AU2>U.SI!-X3
M#U1Y*=1#*Z/5WNHB22R04@@MH:*6.2M9N1<KH'$#/$C?MLJKC5MMHM@7O_0B
M#QTLSTUZ^V6ZRCM5B!-Z7YS,PZ=\&C0U6IU!7@NWAUXU:HLH <9!9<+"U5E&
M/.*D=&(X*5G]";&S8:UC=G4/8L<'^[>&^.P?^9=#_><D_9+'V7UA5BY#H,//
M:3(.I58Y3Y:'T7<=G.\Q5JRY*.^..93>XNLB!35SU"@G@;&*$0KYZLY$%[X&
MLI)3=?#H5CZBWM*K(B&1P YZ@CQ7T#I:WB;NF":@UTNPJYU4/PFE=@4"GD8+
M@SZW7DX!:OS/Q71U7\2AE)K;2T1.$^B4%-HPA@$&CO,-*(ZC/JE9+Y*P=W;L
MF(V; =NW.?>TM<7'+(X/9TT\5#8R!B,(P_(>.@80=LQZ]B@SUL,.&&RLR0K,
M: .O'X,K@PP$'!Y%6MJ'_VU4))*.?T^S/_*WR?A/^S?CMS\=&:6XEMY+8:D5
MPF*YOE/-,>.(KW^FM[NDF.WAG[:-3VU=_OJWZ=^"(1)FP@JJW/IP1)4#R"'
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
M_-KB4N[AQ:N>X]C7D3IJ#XBE;?%KEB[N\B('[S0IG5T?TKO%;&\:TFJE(X(
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
MH0K[V:?NRY_2O*C?EW5]6(-D00OAT'*@0RPO<!(G]+P>>NS$2":%- *P[M-
MS9G^XU%_T6C!@?URN:41Q E*LA%8]0G[@7F\C)0;V/BV-?'P_NVN%SP7!"[
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
MT?H]NF+%I>R7]"[K+@ET[<AUJ0U#XF$;DH@B9/50J9/(9==S -2L3MVEF^U
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
M]X#EY-,4[@2EV!2X^F2]MQ <F'@!]HC!(\C@T$SV:XVA_,KWUM2F0O3$GUZ
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
MN'YK=B[V&564A#AR+!10E^ H""W+BWN(B6<+O8HR"[!)TI*#%8'C0P\UX)M
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
M^8+K]?YA7V\9AP]Y467_;"HTOALX?N21.$*! R*;GN@HB'U/DZ -;=ZPQ)W
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
M<FHV$^5JZB;-]DP3/7D2>P30@">6(8@F#,N-]V*%!X'A>EWLTT/K;4.Q;0?
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
MI-=3MMO\&V\Q97E!\OU-=;O?MD48L1LIS6J5:&Z3J58.(LB!$:; #GP$J.,
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
M^_X:J)%!\8*$GJ$PC*QE#("!V',=W46ML].DV/&<H.SNTB#9=B^>NND.%>*
MT=B.?#>PL1/RN,[C?-NJ R.J]*3AV+8,AUPQ(-KI(L^0K&_="UY)^X;4NCEX
M+C9--7]\E_)LZ"G9BIIX?0[]W]4B\VCNY2+TE+2K1>H.V?$>GRNK13?;*>4W
MV.H1+%T\+T/"M%F3F^F-NNMV'$\+I;E3" $/0B\"#G \CPMN&-BDPP$P'3#'
MT-FZ82D4%^:N=1?*E!G65>XR2:Z9HM55K8B=%,YPPYDRJ:.J2$,=M RE-&B?
M<D5G'),CD\85##V*$/%C!Q (H.N'\4&[D6LK'5X8VH9A96QA:$GTWN9K5(*G
ME2IMB=TBLCGU+$Z:S&5HTF@KY+(V159D]:7WP=5/^ZJL^"2,PSDFC<P#<8QB
MRJ*80-N#/NZ.;#D^"Y1V]VIOW+ B_:D^3RVM_&B'XJ15OV_D1&Y6MZBIW]NO
M3Y_@G7_&J\ILCW@:<](R5-6<>?E$G=V,#M?3Q17#(/#CR',"[&$OMD,0> <,
M*%0J%>IM>7FS9<W,ZI50_:0:U<]^^F>5S!J:!KU4\\C/)9:*M@U4RB$,CI3)
MTXGX*925RP(2>-2%ON<'-'8(";JDV?5@$&H0RL%M+W'ZK)W?47(Y";53))R+
MD,Q+;*J+YFB_+%HVQULG)YR:6!QPCSG)GK)-NML<:@PX*>\_)]EFY2";(-<E
M;A12%$$&$.RV>;@^]9668K0T:%@D!0YKTZ&K%Z/;.7W9NQ)@D&$YQ9R<7#69
M?/D.PP'AU6F5LN9>X)SM+OF+S/5(HE;BEZ&#>DVZ?.6\+KZD[X$Z/,A=M\;S
MTG3#X8A];?423@WJTV.]F@/7%4=7/9^]PLVPBX(P\#TO#%"$<(! \]P-Y:C<
M6.EIZPG@&%;+K_N'AZ1XKI,= =9JT%H=6L4KHR9PCYR8+LPS:E);0WYW(S!;
MIZ"O7OB(2V^'?/:7I,?3W://$_IR&>H]I<'G]UI-S?48Y?^</-=O.'Q+BLTI
M,/&^68T6EN7^H?G9&4@>@I#+'(=#)93981@YJ ,)(J)T-'IB:%.MB'73X1.D
MUA]"DK*=1<LJ>V@."8M7Q)L'!<OS*%):OQ;)3KEB,;6KAT>4A7A9,;JTAAP*
M'&VD:8VQ:FM^"#4'DU[TAR7&G>%.48Q!$WA_N?%H"N,E8M-D/I ^_Y+7!_O2
MS1?^OT6V%N6@DZ?M7@^9E,3 =MW8]AD@$?8!\\(.BL>PK1*-C  P?7B@PVP=
M0;<"U#WX.&@^8L89<O%B=C^H105Y%\PN^D.8[9%VHXY:AH";-?'\X)5Y/M4G
M#?3A<9L_IVG[O,KKDQOQ-ORZ_M.GVR_I.K_;B4=(/Z=%EF_$*RWE"5Y*0X <
M+T;$Q;9C.XX3M'@#X-NVVO/L\^%4$91!C[J?9IN=<=WS1=;E0L?11/$/CT9:
MC956;>;0:<7DG4%UAK'D7C!\LJ';_;,'(F,.DYJ(S-5)EA'2%L##Q>G)O)Z1
M/H=2WT9RV 3)$'%HX#DX=/T(0NK$V&X;B4@$9.]/4OQ6@Z<HFBN+9CL)^X*'
MOB,3PPA;QB@<"O[\@,08#J2309&$WN=;3DG9-/@QKU*2E>MM7NZ+DV04V S:
M"!!(W2B";L@<Z'7MTX!BI>*PME9-KP36<[TOZ2/__3T7*_%4W%V1/"@F6?I(
MEDR:9N%7,0DZP?BOW5UJ J9UQ,F3F=G2&%D*^](2[6Y8AL 9L.L\;3#$W&QS
M9)&3KP( 0AC%3@"9 P ),7%J"?=MAR!/^C;&><#]U-.AGWT.)&R8<OZCU",6
M(DKS<F!ZWC/ (P.>7[\6EW[]GHJ-NROF1Q$75\0S3M]Q21"2D+2-L1 Z0Y]>
M5VG"]*[8]@GQ+R.?75=B34[C)R!,3:1?/+=^9=6@K+\:6!.KZ^O<].YE'47F
M,O1MK!&7'U@?SLE;"K.^VWU_ZU7 KF'*?.#QAFUH T CCT"_:]B/B=0))HW-
MF9Y7GKV;>?7*PYER<J23XGYIFHE=Q5RRP7=XCQ3^^![IFZ)EC-]-OMZ+C1EU
MH%\:SR_ J7?DGJ=V_TTV/ C+A>A'=F@WDB_/Q2OR;X#(>4.!"8-R8YU.L?"N
M)4W^D.W2]U7Z4*Y\0A%T/,R!1E#<614%48>2Q9'2B8:IL1D./OKGV,(TJ[9-
M4E5G\[KD>LV"':X8#R^XUH)%P3^7UIM;;Y[[]KR^^&?U-$#*WV86D/0ZIF\%
M:J8NL(S)QFS6GZ^!S>H%V=C5U@_:M@60S_DV6S^?+%8'-G(801Y#;@AHB +$
M$1 />$&$(A>I1*/QK1F.+RU ZP2A6E30P*><SD]+I9IRO\+BE=7 L_YJ_SO;
MZMB;Q/4HJS[2EZ&5&NW)375/U><JOL'U.M^+RV#O/A?YCO]Q7:<*90/@'(8;
M<O5$S/=\G[$P(+87> (&=3P6.Q@J;=77W;AAM>-XK9<P%;?C:R=;3OMFY5E-
M"@7%1ZQG;"]'%%49[=%(8\Y9AF2:,^^']TZ,\BB]G6!_4Z;_M>?-TB?1]K$]
MXOAQ1./0]T)J^QZ@,(KK[0N, 1"&2H><AK=BNMI] &8UR!2W3PUG3W)#Q23$
M*4[<SSF;<R_4)7[ZMB2,YG094J7!CO.M 9J8D14?^)1D6[%]@.7%UV3+Y]+K
M?<&SR;1LK_O/]^4?NR)-MF+:+)X"^)R7=;;Y(2W+Z_MD=_TMW3ZEO_-/WY?B
M9'M]L'U%PA $)'*B@,0D )[-];%!Z\<^"H"*=,V%T;#PU=< / DD5]:6 [4J
MCM0"CO50XU23P=G\*">B/X,+U23X8-&[V[QX5W*;K*-15];1+.MHER4,LSK+
MKJP/!Z\WUEF->5<G-T1,J^6&W-03">;N&,N(([.SD"]KN$X=PX#3(.73@?W#
M?IM4S<=6,8LI#%R/^Y3&CN>$$:$=WA!3N-JE=_6')Q+!H3BE9#!N9/#4)&DU
M/-&X+0<D%' !(6VP6Z<*:D;]N8"PQCW?A;03$^O/_VR![8*KC(:VL=WC_RO!
M;30/VL.;'L^8#W"G8?A3\2'?W:7%,1Q3YH1!C$(D-NM0%-C,1BU:""/'GV:2
M-@[CA).T0QSC8\:ZXZ;P[YLJI(UTI.F -IT/IP]G+^9FPO6->3_C+*W7349"
MF9Z.\;,',DTL: MC.KUB/HAUP;9#>AYTJ1^&5-R?:D<0!(Y-J>T?\&+'[69I
MUU-$L[%@!TS5KM7#VBOSM3FCVV@/FXYODWAUM@AWF*:=1K>?=<+VAJN,1#E=
MW>-GCW/:>- 6Z?1ZQGRL.T9A+P01C6([(M#%+'0P\>T.F8<87E7B9)[I<":/
M1VDB=H NK7/-F=+;PW1LJM"DX!#30<B,+Z8/-S_?O,GL'$G=KS][G!A@L;:(
M,)3MH=I/TIOJB.XD_OQ:<%0O,:*4CZKT.OF^8A%@L1T#$#HQ"&+FAC[IL(4!
M#@]SFN%!P RP(?.7H=%@?SZ+F5=/!A&JH"AF';9,33%L\QNJ,@7CXW/*&LR7
M%LJO2;83:2T&MA]X;L <YF,:4*^5-N:'!"@]^:JU8</E^AJ1=5"%.X')$@\9
M)LT-4EE]T?: C?AZV1^;*1HF7FM*V+BD VO5:)>2]_W(XZ $;X0[EJFZ>DR3
M3ME&\Z=90S_4R<3*#EP2>M".$8E!% ',XK##$+% T_+HD):G5=$FMYI21F4=
MH%5'#7!O4D@_+"#C[65RO)0J>N2GTE)5VX:)Z2 &I=64?W=5'NZ@1M"U;0^X
M+J'$#8,H)A!  OD,.[8]%RO= :WXU8;U$'[]2J^_*BJ=(CF24F:.%T6MJH',
M=E?\2Q[ZE&8880N1DH'@S[5B# =J8H#W12$>E^O:LBF7'!B'R$4><'P&@SCH
MV@*!/4 35%LP+ TM'"NIP?W[$(U0YDQ%*DS2-40QKJR.L7FEXXR7-Q5D*(]+
M$I+!-KRJ)^,8D;Y^."GOX6XC_B.N>G_BJ0Z?=, *)T7QG.WNFDJ^'8:V T@0
MA#:U8VAC')&V;> $KM)!:3TMFI8=CJZ^3'$M_I ><4Y\V:X,5SUC2R_7RQAK
MFFTZOYG7 &/2(;ZY+(%/+M8I;YE//CZF52L#*^+!F,8N<UT'80 ]!T*W:Q+Y
M0.D2JU$-F9X+M-BLX@"N/>O$_U%:/#5O>O\+N/)M4(]0\<<@$D^ B\M+ZQ^)
MT70E/O^8BK<=TZWB(ZWC'"&9/DSE \4LHJ/_RPG]'-DAKY@XF>AAJ2^GT$'N
M,N1.CRGG&88^?F3%[8_=3;;=BB=8NR:[#&<%71 YL>_:(21^A/AL"1W4E+A8
M:3%M1#.&A:U#QG5IP(,'8^B3$Z2)F%.3HP-I)ZAFDJ++_/0(D092ER%#.@S)
MM7<X-0EZOQ-7ON3%,Q>[E<>_&N(8 8H]A_BVZ[A=E<8)8C]0$1VE+S8L,QV6
M;.JUBU,2>D;$(*Z6,0:&0<\U]!6U?OZY2!^3;$._BTMZ4SZ;^53=I\6+JL+*
M#PF"(;.)SPC")"0V<[J6;1LKW="NHSW#HZ*%:*4-QK*>)N0"IK5^46%4B\I:
MF)8+SU.3K!:G.WY;>#6]-4#KK"PYK29)D-8C53HI7X:":;4H-]=!1RR-K$!$
M/1_PKX. QB0. VK3K@T8,Z1TKD/IFY4T;.B>W#%RI4C4@'40K1R-6O^8<=%#
M=K%#FJQEB,= ['V+&XH,R"= ^6-:5,^?>0>IN!*)2NZCV$TE<BX2A:X3NRBR
MW<AS@,<PP(<F@]!1RWQ&-&0\Y6FP75F/ EWS-E3: ;RR=NGE,6* 5=DL9R)"
M5=.;CLL:6$TE/5+YL8=*0WG-99IZ$QH-["Y#C/28\D,*HXT?6:D2;T!^R[;;
ME4LP=4&( &0^M+'O>>[AZ^L[TQ1D2?I+#4M0AT--9^0ID=,4(VRHZ<>;1!A1
MB:[5'D50YF89HU\==CZR3ZB-:I;MLBK]D#VEF_>[BO>$[&:;-IF/D!(7D=#V
M7. Z?N1"QZ>!$Q^F0<Q76O 8V93Q:F0'J9VP].<=1H9!/T,]@T,3M<L8,KJ,
MR8UT/[7A1=+;E,\?-M?)]T-3'SD-[:0B8#8*8@>XD0TP"4.?TFY2X3J,*FV*
M'-F4X>'5H;.RW3I_2*TJ^=Y3]C?"I5P,GI!&M<A\8) C.]0J.3BQR43L]6G?
M:]QN\V\)'V?\=P?4TZI8/X,]*J:)^F6HF"YC<B/=4TW%3NJC)VWY" ,/4XJ(
M'?MV'%/'[79?N"YUB8IX#6O!L&8URP)#RI<#"9-3*/-<J0G3R]63N53G559Z
MQ&8<B\O0F)$VY#K[U9"%D)43$R=T:$Q9Y#$WBC "W4YQ%R(6JZ^ O/F5DRQ]
M#%_R>)L2E;4.K6P,6>288VWCS44-:5:6,<I50;^ZC*%HL^PX_I E-]FVN1-E
MM_E:Y>M_W.=;3D@I*I+5\^%,2,"G5WQ*1:&-(& 1\AURD!$/0J5"@K9&#></
M']Y#]/[#^^OW]*L%/Q+KZV_P"_WMTP="OWS][_]7Y(#P?UCT?__Q_OKO:DJA
MCW0Y+9F%;S6U.8%X6/*HGF<[62;+6(]4:2=]&6*FWZS<<&<=+(CGQ^(@BMS8
M1S2(L!WZT(.1>U#@R&%*1]-&-&-8]+I#G=LC0L6SL&,H5!8TD^P-EK#YC\9>
M9DA.LH;2NCB1&FS(95D:QXWJ$;W/R;/8L-YM8[%=9 -"00 H#F@H%HC]KC'@
M^DJ+MP.;,"Q AW-ACPVL80?J5&F3G)699TQQEM:1U2*:^?#<2U[Z)G+CB%R&
MS(PUXL)1N5&<*,A+L4\W/\K:*K8)"P/@VI[MHY  '*-NYZP7^H':A9.#6S$O
M,@+889>^LL@,)4]:9R;@35EJ:LI>RW,F5YO7V>D7G)&,+D9SQMKQH^QH8491
M>=[7Z\C78AGY<!P88^I#/V0V#$(" ]_'A_;B4/&E\<&M3*0\P]?11Q"HI#Z&
MN1NF/@THJT8UK_S\2,_;\C."TD7)SQ@[7I>?T<RH[NCYTIR-%S>P\+]EQX,"
M#H0V=6&$'<("BMP@8EV^Y1%/+?\9W=A4NWK:FP*:BXCV9<5]45B;]%&\M#!P
MF\]P@N54:E)NU<3J0.N7$UI;=#.)UEML26SK&4WT,B1,GSD7MO9HXFEXQ7H5
M1PX,*8[=V Z AR/?]^VN(4IC7V59?L#73[)$WYU./*E3CRU3O\W;T/*T5LK&
MEZ7GKD4KU:"EN5N&O(PQX,V:LR(7JCG1(0D[:5GLK08QA22R0^ 0&&-(, W
M(1,+J-)!QK%M3941'2<:+RL>?2?PS)"KE@Y-P>O ;&@(I4:3H0M<2>1"8UE>
MAE9IL^9")J2')=5$Z)GEQ1_<_J)*LAUOO'LN[G17)"-!X/D^C*G-Q*TX@<VB
M#H'OADJ7TNALU["Z?6DNMK1N\V)$ 4HKT6HIU=0<#\NUGFN"#SCYW[/=6>5J
MKFW6"D1*9&DZW;$,231BV86\3C][PVOP*]<'$70#GD0ZXJ(P8+/#,J,/;5OU
MUE_5KY^HZGXZ",=6W=^F;&BY72M;X^OL<Y?7E>KJTMPM0V_&&/!F)5V1"Z7C
M9*<IW5&N$"4^#D/;I23VD,]%RNO.K_FAS90>6AO1C&$U:4Y,[?+=N]%5J#%<
MRLG+1#2JR4S#X,M9X)P'SU[EIT=W-)"Z#/W18<AKY]!T<#.@ KYR/,(8]1$(
M8T8@#&/?8UT+D2,NVQU4^G[S>R>I>>NH=;_-D'*16RLY@ZO;LQ6UY:K9TB0M
M0Q<&(;]<OU:T7G;D]QP/<2!U/3NP,4/(<Y@?1R'L&N3YD*N2B8QHQG F\O4^
M*=(667<D+:T1*A[:&,.DG&!,1**:?IR"^M?NU!FLJB*[V5=B%ZY5Y=;G9-:S
M'(..GVE@>QE"I,.07'M/5'SZ+']XR'=UL_6K3I_V55DENTVVNUNA.(RQXWB4
MQ;%-PAC: 3E,T1!0VO0XIAW#0M5 LTJ![<KZEW^S;<=Z3 KK2>"T:ND"_\."
M^^H^+\1SM_]NN;9]9=MV^\Q2\^=2R%WYQ@M,5U96EJ*&4=^\?J3@WRT0.E>V
MZ]2_ *%[Y=NAW%>J:>DH=\N)Z52>5E/3ULE?&R?7P*ZL$V@3/VEWF:,>X=3!
M[#*44XLEYX_6:6-'NE2]V=1%\63[.<DV[W<X><SX7.@$R,IU'!_PMB(8>%RW
M7>*3;J-H$ 18Z2(C#<V9+F4?$%KB%OQW7+G6#4C%@K8&8B4+W--RJECP/M(I
MT(E T.*[LD[U;.(B^)N4]17%]?&]#"73:=!YT5PW5[*Z]B45JW[IAB;%CJMG
M"=?K_<-^FU3IAJ2WV3JK5LAU?-MFS*&NZP+,"#N\317X!%$57=/0G/&]"0U"
M*VTAJLF9#C[EY&QB*M7D[,!BA\[ZY02?U0+\V[1J]C9C/6JFD>YEJ)E.@W)C
M75-Y0T'74%W^Y_KY6*3WZ:[D\Z=F1?)#7HK-7Y]NKY/OJS"@S1ZPV',PC+#M
ML6X'6,"GX*J[#;2V;7XKPF$XMN^"G0*VMAQK?7>UN!BV2KXK;U/0ZPCI/0RS
M^4!Y@\.!_F85\@76;N/#+P+NWPX7]%[W^,'4+@@50ONW2!AQS3+$U)AU/VZN
M,,CB\/6.51C%MA=B%T$?88<Q3.SN68' H0"K+'@.^/I)UCW+BZL<<U?BE2KP
MTF0N8VB-,>#-BKLB%[KNLUR%S.=S.,28."\3^F$,XVX=,H@H5'JS;W1C4V\:
MJ*O;IX/I7]\:1H9(5MYB8)[?P?L.3NZK7-8EE7+[$L8QNPRETF>.XF64BCS)
MG\<KLJ>DJC.+LBKVXF$P >"W='/'IW50K$K5H$A6KOE\8<][ZK58K5X1['F(
M.GQ6%]* >,CE2AI[$/AV9%.@=DVO.12&9UA'X-8)\GJ<MMBM(WCK!+WU5XW_
M\OK^U-Z2T\EE.$I-0,WYR-")P8$4]XBP>;<M0YTGL/.'\X?3,&M2SS]DN_1]
ME3Z4*PQ<8!,7QX PSP$$H)BTF!S$U':RF46R7%T7-EBU$1.(NX+KS F\&:]-
M)O(R#EN,TA^XUJSVZC[\>15_@*T:5'\HP^K*_W'_<),6GVY/L/V6;C>K( @<
MAX:\11:  'H.HV'7+H1L8,8^M+7)%/S*:B"*XOJI-@B40Q5Z,,6J*CP%NT.5
M=A"QAI7T E]2:CF6ZZ4IXFA[+JJ>'J9DE>WWY'OVL'_XDCXDF5AK_CVI]D56
M/7^Z97F19G>[YLJB]?,18 E6-F,A(3CP DJ!S\+()G&'A3J.TO7U9A 8W^72
MHK4>6KABH-XV@-M+S=;/UN8(V?IE_VA5^>4M&U.Z1TXIY_>,FGJV>*VC<WX_
M<4Z+V>I 6R>HIU740;SVJ*Q9/RU#>0W;F$_9\P<I](=T=U?=?[J]SAY2D0JG
M]2['\IYM\V_UW\&*! &  'N4.K[GNI&#H=.V[SJQ$PQ090VM&E;B;M!O:Z3U
M9AN.U;JOP5KUKNKRWKKE>)N?#=)?'>0K:>[$O _3V0\'R@5,Z[<#Y0*I): V
M/YM%7=]F\&U%U>B%1:FH3KM>5T[MS$F?T=LF9<G;+=*DW!?/]5I?4Q,&L4.]
MF-( 1DX<NCAD*("4^E&( IY(*]5?A[=B6 UK8/6(;*$UIQZ&K8B-X%).[*:A
M44W<AC)HYNS;)8)ZM&L\J<O0*@UVG)]ZT\2,]#8_L47G2_K(>]I]4J:?B_RN
M2![@]ZQ<A2 D/$., ;4AB9#-/!"V#4;4H4H75XYHQK :U<BL(S2KQ6;])= I
MJM$8-N7D:"(BU?1H*(=F=DY>9*AO!^5X6I>A2#H,.=]1J8N;<9I$<C'170$6
M>9@BVX:N:_LA\'W?ZYJ,?4_I.,>HAF;3I0:?%F62Y72,-AF@4Y<ZO<7DA/K4
M0%%6*$5REZQ1JJ9(J=0@?M[2J?7=[OOJ1T%\++*M\/GOJ5@<6<'( Q@3ST=>
M%,4$(.#%;9MQ3*B44.EIR?@ZPP\CJT987VYB_=6 E)0K3=3VZ]7TK*H)U@()
MW>3K>IDO$0?8%T3L"UQ3$7P6%H350NPC.[0;J9?BX16MU\O?O&*OV9;<1 \;
M(_<LO2GV2?$L'-\V&R$"@,]BR!BDS M)$,*N66"[4BO.VAJ;7O0[D,WM5CID
M:@C'0Z3?,+VCU7\9S(Z) 889UA8&%)D>& E^9$,Z&(P@<HGQ8(PYO2%A-$\C
M)P');O,*!.(QSR5A;/,@A)BXASKH:K@PQ@AKF!,,:WC6*8+8I*U?XL:Z8M0<
MPKP7=$XIEND +7,.\XXP,049X)"QDY)7B5*?HXSC>XDA2I=I<C,8'?S)UMF;
M@\6OK3A^.)Q5(#@ P L!)"C %#!& .U:!AZV5<KM.MHS'*@:B%?6Q17V#T-/
M=VDA6ZX./S7/:J%("\5&*O,2O/44Z'6ROHPZO5:+<G-]=,#%1C\*\.$Z</B0
M[W<56+FABP/'"3%Q72_R8CYQB Z:R[!4KJZ[3</J=P0D+HH[7*(N'B:X2:WB
M@%_QV)0VQB67(6<@6W%%LF;UQQ3PZN16>JN!.<.M4V]3U[=,J9G\92BA=JM>
MN[1*.VM2)8P+3=_=%>E=4K4GO?+;>GFU/'YNLW((X#@\#!V"'!OYC$/KL" /
M2[TF81:!Z1T:ET=QA_WD@&0#_^3CDB)JV$D258Y%^$>;P/X\KE&H?RS"1<,*
M(<9<)5<0&<K<I<J(<4\LH$1BWL9\RKX].EC6SY.L@(NI%S@>"3T(*'6H ^VN
MN0B%SLAX*-?(;"&OAC=:-B69'!RT]).H*RY-RM_HR**?1]W!HY_/,;&A_F8U
M^5>C:[$*KVC&VR(^A)>!99X-V1?9[NYS6F3YIHD5*^#Q9FV;QH#$S(LPYE.H
MMF%D\V QHL(SI+F)M7MC-1BM!N15FUO-6G!XA3;Y6L,8SA=99AAE4'^%83Q7
M.L9A,_Z9#0*&(L_F_QM3@&U"N]UZR(]L;<-0KK5)1N%)*=7:-*/PL1V%2H'+
M_""\%.WT$[[\(:AHC\((',+4N/6.P[4AQR+C\3-=N3$4X=B.G,B/G  XKDM
M%YF1&^)H_!*(%ABS37J.E_B<U.U//OA&"7]R=XU9/YG<4[IF5B.=-.$ZBPS%
MRDLO6OVV2(TV8JC4 HT!;M5O^VQN!V Q)(0'#^J%(2.,N$[@BK-MF# (L3WP
MYF:Y[S:LOR=7^XZ\-%^2*CF9-,F2FO8I$&3X]DWY>^C5.%N&[@Q&?_$>S2$L
M2-\RU%[_5A_4#T@0XYA0FSBA'?B!Y]M1VP1RF:-TEX?2%QO6AL-%B4-NZU!C
M2$X5C)&C)@FRO)BY$>B$@QXQ&$35,I1@&/3SJWZ&V__F8E7[U2NXW;;-B,O(
MF\/P4>!A)_9#'P(:0N)BGJ"T36',%4=JH6I, Z9WL6VWUA&3XGT9XYA[8V%J
M*M+4M$*5KQ[-*-/UO]WE3_]W9VFC&=W?SO6BCX_7%EATT#?SXHH6$W*-W4E1
M3^@?7U;8%BOK/$MQ8P:X;-' M[NOA@ 2)?V0^4+#>D'W16XU!RTL+.9L!:?Q
MRA(_5M0,*78D-4(W,6J:,(03_;K .>C3 16*%C+NE2"?CW-U>Z7']?_Z_/<5
M=!R? .I0+A6A%Y(HQF'WU4X,?:5Q+?.%AL?U_TH>DUU:IM;?TYWB0):B0W(@
MZV9";2#7)%SU4J!_W'*3^\:M"B,+&;=*D,_'K;J]TN,6_\96=A11#\9V1(D7
MD=B+(?&ZKR:!XKB5^4+3ZRW?LNJ?:<%_MKFR6)'LUI<W)8Q@17+XZB9$<5E#
M@0O]XYC;WC>.5:A9R#A6@GP^CM7ME1['O_W!5C&*_8C9GN?AR(4LC&CD=U\=
M>DAM7B[SA8;'\6_[W5U29,E./&N2R:Z#JE$B.8AULZ$VB!LBGJ_>XD'_ .9V
M]PU@%5H6,H"5()\/8'5[I0?PK^CS"O@T#CW(/,<FG@?"&'I=;DZ<P)7:+J'T
MA88',"JR*BOOK<]\ BA[)$:)#\G1JYL*M='[QRZKTHWU']GN;I,_7#5L3!F%
MN?E]@UB%G84,8B7(YX-8W5[I0?P?7_Y<>2CFW^V@,(Z#V,8T"NW#5]N.)_5(
MIM(7&A[$_Y$7*0_!?^:J<V I,B1'L&X>U$9P38'UR]=\7]W_[:J7"OVCEYO>
M-WI5F%G(Z%6"?#YZU>V5'KW7?Y*5'U%$@B@*(QQA$#LA@_ @# PPI=$K\X6&
M1^]UDGUKBE@DWVZ30G$,2U$B.89ULZ$VAALBKJR/Z;>6BBE#,+>];Q"K4+.0
M0:P$^7P0J]LK7]""9 4H='&(/>HBAV'@Q39"W5<C'*N%8)DO-#R(<;)+-LG5
MF_UV!".RQ2S-9*B-85D>#!2R8._X5:%E(>-7"?(/A2QE>Z7'[]=?R0K:"#J
M^#B.@4<Q]PD W5?[D>(&$YDO-%V0YE._Y)$GD<."L!0ED@-8-QN*U>B.B#G&
M,#>];PRK,+.0,:P$^7P,J]NKOK7\P_$J-@>Z" ,819&/'&H3U\-=2QB%4B%Y
MS/<;'N&G.Z@_#+WA<1!O_>-^*LK49$"5+<.;SC](7,XXAL!E;#D=9<'%#>A#
MV5#7$EB6:?4Q%]<[)-OF;,S*X9KE @HP17Z(Q<)X0-HV*<<@-5O7TY)A??FT
MK\HJV6W$*;3;O/B6%.*&Q5U5).M*<CZ@B5%5O3%-YF#EJ8%=61VT68[Q]=(D
MI49CZ%V:+HVRY:)"C6=(7:O>[\JJJ*^C*>%N(]X"%V?\UOQ7626VV&;E>IN7
M^R*]3K]7B+/QCU6$(DBPXWH>1T6H&T  FI?"'>!X1.F>;*- ILND3L /E3@3
MCE!5P)E],%@@3W#7[PFTR*TC=.N(W?I+H+=J^+,E<NI,2VFL00<N38)-FGI1
MH8WS*WW3Q?H^W>RWZ:?;][LG#B<OGIMS$55]SO+8?!Q%L8N9!SSHL]".(DQ=
MT;Q'&>3(U&Z<T=6HZ2)6BU/<HMDAS7JN>S+,L)P*ST*N8DWL%5[%ZP8-S/9
MMC6;NLHRV*.DVIVP#-74;];YG1%F>)-5P]_SIU2(\OO=5S'UY%/.ST6^V:^K
M/Y.B2';5,UROBWVR_9)OMZR9DZX<+[0A!I%X;L8A! 0A8Y"P,( Q(3S/5A%&
M$^T;UL@.LI7MK ZTU:*V.MA6B]OZ2R"W6NB*M4(CSI'3U+G]HB:O1EQB1&D'
M\-HCNB:]M S]-6IA/EV?5U/EU]M=A3 &'@B0.-H'7/%<L8^[QOP0X55S/2!'
M7U1R\CNP(961?(Y)>E"CE$\1ZBNY;A+^B[7DQ<=C.933QPF(4\PP.]D3LWCZ
MO4IWF_2R!DXK>J^3U:-K(]E=AG2--2+7VN-T"%#[5SXA?%^6^W2S\FP6Q7R&
M[O@X1B'R(?%(VSB%Q(>KI[2XR65S04V-JHRQ4WS20XWC?,K*+-^58IG&^G8
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
M%7322LX<<*4L2OH4FV?HMWHW;/,DP-H515XX1K"'*"\\G3%+,,->6R>9@TI
MP$4I%THK17,:7EAR8"D=U>Y6K>)S/E\^O)N.9N5)W\^QP_NMG'W-,BLX1A)K
M ; @"!)OH-F."\93RLR<AHN5S)\&X>V*2+\4Q>5?P:+?0YKRD0Q;XS#D&BI/
M%3"4!"Q*"1)OKACZ)F=#!#D2RJ[(X">SR3)_.[G/+]\$'<VN)\&_6XN^?U[9
MWS##VO* "\2("JP0=0S)K5'F:8K#?1K^5#)Q&@6X*SK9C5X^CKYLN_I;,1L?
M-(/W-\R8!YI)!+$ ,)CXG#I7&G 8>9>R@W8:#E4RG1H%N"LZ/?'V*K'HQ><S
MJ@TDQCEM@:1 2H=P&>+$V.&4VR#K.U4G29XF<.W6\3[H<6=(6L21D\X+XK$0
M1L/2L\1*)]5[$2?A:C>T*5\3R,Z<Z\GHTV2Z/LXTN_RP+,9_WA33H)[%ND12
MA62.JJ_(6%B+P_KK%- *>J$ILMN!0)1*,7:&[H:WFB+4D@)ZH&#U#*+=C3*E
M!994.R8,X%01)?!VH GDSSGEHWDF[*9:&NQ=[[B_&SW$+;GJ>^W/&V0 :P"M
M@PPZPQR/@8HRGR X%TE'QT^(5$?K?,=6>Q+('5)H?A=4\PT,^UGT<IM, NLY
M@Q@00#6WT$A=;L,03MDY+X+M$*D1G#OFTIO9N+B-9\-K<.G;-IDUQE%%N0>*
M<:L8I68KH^1)MTD//2[='I>2<>XZB/0^O\]G=W'7UX1_3:KLIAYJFB&E@,-*
M&&0]<QHSX<N9F%B2-$L-/:#= K,:AKL_P[R609Y)@11W)EY(QR Q@E(*2JF<
MDRE5S8=^464+)$H&N.MY:3N1/NGY_LV2 RTS&$NS"["ZGTP&U]@X!K?S,'.]
M7?=QHLY<LW!W/2L]^&+^^VR<SY>CR2QTO@RG5 N!UWA+%H_W$DJ5=,#'+#T&
M?)GH0"CF*2'0$S*SV@TH-*^'_DSZ6K9\ABD4"K,P7Z.8! J!WSJ]5 &0DIPT
MP)SKU@F5C'"GFW9/9]S*.W<O-LJTL]1P#K"SDF@:Q@0IMR8I![Y;:^OT>=08
MTCU8Z]7,] P1Z[VC&G(9JZUP28DOY1 H*9F_?K9 ZQ=L=QD;KPEM9]5KCMG>
MVX,44@X3P(#Q6A/DJ11<E5*&V3:E.O#0,P9:9U-CL'=VGKNXO2UFJVZOS@)?
MW"T7R]'L<C*[WL.N/:TR+;DT"!'GI8Q5,Q5@=KMN:Y@2WASZGDL3VO_F.L>F
MD.[,LKZ\7/D H^F[T218=&;T>1)6B2>"[+.T#S;.,$(4!D&%8B2 B2VU95B7
M,692$IZ&OA73 K\:![PKFKW/H\^97[K1?!8&P].ROC:_FHPG^U;'PXTSC1$%
MP'OD,,;0>.NWIS\9M3JEN.#0PP<MT*QQP#N,$Y0=7?D6L<+G/+_)9XO)?;YV
M5V/5N=_RY<75@;+A]=Z4<>;6D3Q)D%'" .++.!X+6N@MPG":!&P7_?Y<@5HN
M0,:%!(0;K!75!GEO[#97+1B[,"73?.A[.RUP*AG@H:2+)J2)9MS3 )OV/FY>
M<1JL4%GZS$PXE3)-#3W3N,O81!/@/]*M^[J0[U:(WN3+R7@T?=ZM,RL2B8D(
MVD"0>0.I8H!ANRHR2SRW%OE*_DE+MLQT6OP55>*+N2WN/BVO[J;?EL^ID-I4
MYST9TE:CL((Z"%B\1Q A2#=XN/BWLXX'-,F7KRV:%K700_0I3! 7\Q5@EZM
MQ[M\_N$FH%PM"K6K=>8"NM!IQZ$*KJIEW&-;RHV,[?2"R/M\_JDX&_XUCWX/
MK%MU<Z'NEC?Q[LS\LAK;OFZ5&82P8@$L:*DT4AIO7"FG-&<>+.B&8XF8]\:M
M-XO%73U>K5MD%&-FI %,<04YXO$,6BF?MB0ECCY\_[]+3AV%=\>V]!-$5IU^
MT7WKTYP^<I.R0OO,,8V#2QW<:H"#9C''Q&H)N,22 BTJG0QK6?Y5N?XJ@J[O
MQ474(BB0\DICAJ@'/M[ULY)((&)34M-.R"1N0N7?1&02<.XNB+?IY%KHQSNC
MU)>]UP#O;9<)8,-LZ"6T-N8F8\.(+F75 +P*3M74^B[R-(!O5USZJJNVN!U-
M9GLX].+S&9*.2&4(M=I IXREP)>R.8Y2;B<Z&>ZD*;UH'N8>+-9?\]M/^;R:
MK;I^-I/:(6P$A$)3!DDPG0PK91(HZ<C1T*F3J.3=9NE1T/:<WG&0.GO;A3F;
M&$UC:H$,?U7&(^HVLLHPFY]SQ?UF:=0DS'VE<ASDTLL-,A[</J*"RZ:!$U13
M0L-_-]()G616#ST*TRR)&L%W0!D:AR>GJN_(C/.:6L^L)H0CZXRP6PR\PN=\
MQ+;AB:HER#OWXMZ65X17<=VV#V?&!DF0-5 KZBR1'EJ\E2H,LS->\9KVUXX%
MM2NJ!#;/\]$BM_GZSS>S;T,?[XOIU!?SOT;S?;'BFF_*+"<"<\RETPHXY0Q
M:H.',HCU5E2I95X=08AO+GIH$^C3VXP /CB_8=7GVFCAO"+!,2[E<UYT6DCI
M<QZFJ!@1GR^[F[-:(T3%W8EZ"CB5?$1,A ,"6D*U!]HKZ*@HI6(!P"X7P;.F
M53+VG3$JDEX')"ZC01BLP8U>YZ/9]6INUP^/C[P;/<0?J0C-T]'R9O9NI<Q]
M9&SR.V&9(9)K;I3TG'OED,=EG% !D)0$.73/LS,&]ZBP3J?3=4_MW3QXWNO>
MKG)J5K^[^+RJKN"^Y//Q9+%W):_]KHPK+2R6C%@ K7=82"XWF&A*34JBWM!=
MVTZGX1:5TBE1W^>?[^;CFSC>G@JS'F^'F+FW<;!V+"0PK$_>6HAAK,+]*#5"
MW5Q8)]=4G.77,4C1JN?2*?^:A'X(A#MTY?3!MAGBPF-A'5$2(6J"_</*L+B6
MW*<$]:J75'AE=#L&^>[VN/[K;G-?UL=BQX[*:KA\^MH>>9\'\!:39?XAG]]/
MQOE:UO=YS.U:O>406=O^=$8=(898!22D(AC]#/G2[-<VN  )7!]Z]8>N:#\P
M'79607!R/[G,9Y>+>-O\'HH_>RXSRA IPO!W"OGHC$H(2EF@T2E69_7S8\_G
MWH^M1RJ[8F(*U)T%*=?;0)/[W%U=Y>/EQ=5O^5^;@RQQM0A+QGCR>9J7OMO%
ME;HL5F;ROCCFT2\-2Q(C3CMEF0!804Z9*$/&ABB6XLO+X<7,.XMK=J60KFC[
M6[Y\/#:^AXG/GLNT!50JQ042$C /K0&PE(61I')O$'Q??I,1[[2,X M;WK_/
M C33>+[E'P&6,#!^&4UF48Z+V8=\',SGU5G@>; 19M=/K>D*]2?:^F3F(#':
M(H8]]P!K*"0JEQ7C"4C*'JV].?3\C-UI$WD@&NM[3$3)@@D\'2T6DZO)>,V1
MK8GM@WK4A7D3P/XPFN875X\0) R*Y&]FQ#(>LS0=E%0PAXQPCQA;G#0JJN]M
MG:MA.Q2]#6%L!&GRR?5L?=)[_/!Q/@K>Y'@E^>QR]:_I5S@D#HSC/YA9:!&R
MF&&&L(?2">[+7"YCPY\IHR)II^Q\AT-GVCJ]K)9X/PR6R'M*$/)4<4#+W$6C
M@$UQ]6#M+:]U_H&;79Z?1=X,_J>2U,*L"(,F[BH;PX45&@FSD<I*EQ1 @+6K
M;)TQJY*A'](9[L'51VKQ0+?A2GA(+:9< L$1!IAI@KT)SH?CH%(RX6FXY=UZ
MY'')5D!C9Z"BQ,?(A],:P VV7&EWWM67&R5?R\YX?67U-5TM+J[B]H&?%G\M
MAC S;3M3;T+ZIED&'6><8@NL,YPIK+"U2L8S<=0SRRI5[6DMN!R[^VY>Q/V;
M2_WP^R(FKUV$U7P4P^4JV._W:V8=QJ#^RS(7EDT0_&!JD=:>*$V9+I&ASJ;4
MV#ZA622!,=^&I-M5P;!W/9@B1'*.A>(20N\<Q'(M"P.,^7.^AKE-S>_=]ZB'
M>2^9-3&O83:>3/-G/?]8-#?UM?&YC$BM(81*:1%T@U@T(TIDN1<I&0M#/[G7
M(9L'H+I. P[KS-]WT]',?8GY0 <S&K]ID#$FO 8:2DB08P%VS%0I7?C-.9<
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
MZ5^]*R"JO"FCSF,L# *(:B< DMIL0@\BS!RB4A7EUKS((XKO<Z.QXE!P&T3
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
MI_16W9 G%<L<H(/>\QCH2$N=ENO9<>?$X?M*+V9/[J5H_8K;%[^68:H 5,9
MB9$/;@A7IO1O(2&JVU*QI\[^_A4TE 5@N]:M 7@SR[\:T]$AOBWN8KAE/+V[
M7$\(VX$_RQ>+C_DB5E=JR"IJHA^9 PAYQ*77T*^CCI8KA8@Q4C"%5,)@&6!
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
MKJ:KB^5-/O\&G$-3U9Y6&="6"\R-CH7H$1%2.U[*Z4A2+84AIF-V-$TUA_@
M;/VW55*%*S3/( 18Z3"9.D69!,[X,C$$D0#GF2V)_;J8QZ(^ +[],B\61W)M
MU31S6@M%.#:&0$-,&+KEX4Y$M.:OQ[(_@@35&78,U@-@EQJ/[V[OIC%A3]T6
M\^7DW[L2$8]_648Q0U00*X5F*!B/[@G<4-(SJT+>%P.;07\ G/PMWYO"M+=A
M1I#@P#J @M]#L6<.BDWV&*(8HVX+G13+T?0LN58?Z0'PRM_%6CY/QX;[\CF?
M+:ILYZ6\-J.24@2(%D@)H9A@AC,MC $6(Z952B+8:7D5K7*R:3T,@+$O"/,^
MCZY8T'TTI!?CT?0_\]'>X[3I;\\(E4I#ZBV"T&@"(,3!^S=((@08AYWNR791
M3ZP;DM58V=M1U# )_EO^9?GQKWQZG_]:S)8W1[H^%5Z< 6&AA(Q(RF(B'/4H
M'CZ+:&$)O4[95CLMLW0HI$[4T##Y' ?FQ[^*QFB\>5]F)!=0*<FHI4)HS"CR
M:VRH0.;<;M8Y ?8>IY@!DS9\?N^1KN/>F'$#,2=00^*AQ81!Q,P:'PZ"4E*B
M :=E#0^*N$>H9KC4]<5=<S9Q^<),4RHY".!SR#B"" N[L:Z$\ ZDW(J;=#/X
MJR;N$9H9,&_#L\WR-CR;666LM!8RYH5 0$B'R1H=!35 *(&W27>1OV[>UM?,
M,'FKKH).&R?OL[=F B&/J*-.$T&PD=9AO<9)6RIA"H/Y]P!$YPKZEL@[E"-.
M*N+>BVI2(O&='>KI^;!\/V=Z( _P$Z> @T$-2'GG-[7)D)#25(KZ]WVFI^:A
M^:IORQ3QPDE#D;/4&V8%8B5CA:#FS'(26N+-T:=\CM5#5P9(*4FQ3Y*=LVUM
MXC;QF0P';7EF+5+<:R0E(C'JLT)2$BM2&#W 8'*WC.Y!09TLDO>Q<-1\TN/*
M6/;AH=8ZN*=5QJ2@'#B)A896$X60<?& ,86<<F%ZO-KRA5Y7.\V^NUE&+6<$
M&0"0<P@:#)T$I;3$J-Y.JW90XJ41$GQS@KTQK+L=P(]K[Y,?KH^RG]'8AIX:
MPR#A1"C'I!+>D94&@/(&H%X+5FQZ_7[TUZ^C,!(FHVETC2ZNWN>Q-DJ^;QOY
M<./,$2, XIP"ZKDWP=N%:"VY#C\1G9:?'= XKTR(7>.\*<2[LDRW'8^7 [Z9
MO9L7XWQ1GVB[6V>66:@M1\PYK8E!BF%?RAW^D9(KEF1'GCK3&H.\<ZI%VW<1
MEI=H<]>GVN[6F9."&.V45XPR00163I1R.\=3#J D91"<.M4:@[QSJNW/O'[Z
M6&:,#H(@[8,/IRC3PCFS'31.IU0<KK^+_R3J>^KDJ8]MMY9NSZ'<YHU:9ZC"
MD NJI<$@6!KQZI18$<MY)0P91.FE;?_-W3PR](C8[/Y79%((B8TGD*A@;P$A
MC,,E"EJHE L\3]G K4R.G;'81G'O8*C_EO\5C*19<3<;KPL=]S;4+^;7H]DF
MI&>*V:*83B[7W)I=OGLBW2K>/9J-@P_Q(?QDW>L*DT(C[\^,""I$R(I@-,;S
M?EY+N(Y** =8M9V,=O +FE3C<5!D+$O_7*=!0G,SFEW'BZV?/C,)4GX.TWN5
MJ:6)UV?>*\D,5F%A8]P) +%B)7H")J5@#W ?J&/&%;TKK(/YZL,R=$N/%OFE
M*6YCW/_I%D!O<]?C4G)Q];1?J]H:L:N+Y>+#32#-I]CSS1T252:MM!=G/*A+
M6,@) 1I;*+$P=KW<*(BH[W%/>I<PO^2S?#Z:5IF1JKXBDQABC+C6(/3%!Q
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
MTT[U;9NX_;(:+5;#S$^W#//NM;$6""Y?$5^>O.A%#U].(0# H#*& :Z ULP
MX'DI 4+[ZY3SKH##D_[EZ]^VXKU7_7LYA<"1IT9(Q)ETB'N*J5&%!(2F27=#
M5"^!E5O]FV4_\GV#K^]J.&@07+X:%L=Z>];$/V81*&+* :,!0"Q&,L(J5F;&
M!&$T)=M2O8KW71D[5L94'%R^/@XQ/I32BV@0E82 :$J]%:A,U@F 9$J=W-DE
MR-OXT,W&[XHX7 A<D1J>/)(_F SJ.3,-+II2[)G7DC)M-'1P5W B%%(I*GTQ
ML>8UIUA;!,-;4NZ!:W2@SF//C?;&6:<\I<:A4G)0D)2F+V\Y<]N.]@S0"IP)
MH,M7_0'T=VIZCD%Y@A"5(OIHD@L/)=F5?0CN'7D+:_F[^G>%G\NW 2\S?L.T
M 6?.,7 -+,!$.(JH4M8:3,K= PF]2CE?>4WM&]Z,#6@7/Y=O YZZ62Z':0#.
MF6#0Q#I(E/%"60BY9425V1FI($L) ZZIY<6;T?X6P7/YJG\]T3]G4'I.(<'8
M"4R\U*#,/SG(><JM?&\W+W_AJM\:?#I5_.^G6?/];-:H'S\6FYW<E]U$*QP^
M[FU.P1!/*366<VVIP)PR7@+,84?]6_#K^\W37X#8KU8UMU',D!1S.Z-@-6+*
M8,@=,8X(3KR@._EHG5*=,M03"L/6@[XUMQ8NKE9O=T[(D%1W-ZG B$18*2ZY
MC(X;@)KC\H2PQQ%J5Y@P?]?>-J#1=T^@IT.:E1J_%0T[X[]N[O8V@=MV#^JM
M>5#3Y%3O@-/@]P*#D"LAXT+@$826&XN ) I2@*R.WF=_K88^S"*LLB\1A!LM
M^EA0<Z*-RI%1@1HA+!>602*%U,9 J0I:G>,NZ6*-H=\TT"]XYFT)J2NGY,",
M3_9+.3HN2 4<U89Q9"4Q7!B0_V-+J[4L92]\Z(!L! +58%6+V5T!*]>FF[M_
MS.?%'0(GNYOL'Q \%0)XI9'A%&'+N.4E=9XKE-1(_#*A=*[8YRWPN<,6.5G\
MUKV:C6WV*YO.?^:<*/RN*@US3HT.3@O #!(",>8!%83I4B<]IDGM<Y*BD(O%
M5_-,K]U9]DLVC0_]^$<VRQ:C:9R0&C],9I,\+EI-?AW&3_7!P3M/(8EJ Q2
MT EB%2TIH=*F[/DF988O#CZM\7Q05QF<]#\_5NBLU/"7 K5.*T1,9*E0.G)6
M,%'RTT='Y8I-X+#"AWX%>VU7T @DG7?$*4<I=-$:(8VVU&. (E^NV'/L#4CU
M[J8Y3U*]I_O6#P^CQ>/-W;/-SY>-OWM+W0VU[S?ES$F F8+.*DX$](II(:FQ
MAGCH67_)N-HE($4J^V:]6JY&LW'T6EH^@GCT@\%+!H354$!KI#$FAG*JY##"
ML!*'+V<KM"LX-GS-=".R&WSIWY_$MG>(_M"W@H*(<".X9DP1Q*F!TA4\I2)Z
M8_T>R1OR%;P-8;4]U:DEX4O1FO;[H>WO>Y7[=MA Y6*P;A2F-IK!DIM&@]Y.
MHK]K2J>"[4Q-<M?YPW*YSL9VO8B<V\YV6V/XS*_>%10>586S7Q:PC\9"QTA&
M0H",-]097'+%*I-2>U*WR=C;!7S;XKL4V__LO(B:C6.T.5ELWM#%<G#RV\%B
M2P01E"'B.*-$,+_CN4<ZY3*+NJW WJ[*#$S:EZ)A_<8D% J+(3! >QD]5B^E
ML25/ 1 I6XW)!X7>=:AK^5Z*SA2K;KZQT;K._/&MX#GU@C##A*/:,ZB!1@5/
MF4$VY7#=T..2"TURI<KP4O1B>]9@NWQF^1U 7^?YK[I4EZI3"!H"%2VCMCA?
MO3EEFNI2 H*J:ZY2N% M:DFTEZ)<SQ;75R=H7YXPC'[ 79=;+A4G$R363! 5
M/1-/M3+.";$S>0C"E'3: %M!7*B.M2[7*].V_E4L4*(9= Q*2?.J,@JD+Y/^
MS#F><A#[S6WK-([Y?M3S3$P,1B</7E19I7]<8WK9W"R"MY)P:#U $23$ H/
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
M@C'"+$$Z^B8485129RA,J9:])!VM+.3C.EJ'IYTY?*^F&C]^JJ!F_XC %-6
M*6RB#=*" B^H+.F32O=63=,)9LX4\0F\U&-ICY Y735S:$R06F&@B.*$(.0<
MTYCQ@D;/TVZHO #8G"WIT\BIQ=>>L'-PI_OH\\%P3C5V4#,OA 5:12Z5M$DC
M4^Z%N@S,G"OCXZBIQ=6>$/.QPF[UH2%!17J$$\8RR !#VD0FE11:AU)JK@:X
MG]/F$E67IUVAICRO>@PFNV<"5TY++9F4SL(8C@F+54F#=BPERS1\>U)#E/-F
M&-DU&#Z-'G,=L*-5]G6NLT^CR=B.'O^:SU;W:C;^GVQT;"6J_I*01P>80NZT
M(SK&#=00O^6"!%CJE#3Z\,U,<W!JG-.=&Y]G%&S;_BQJ *["6X)0FGB/-:#1
MD33&"P\*JRYI]!]3NBP,<,NY/0/6.*L[R;(]/(P6CS=W7R8_9I.[R>UHME*W
MMWGJ/M]RFD\GMY,>N^?^.94*:;?#@X(54"*M 7=<.X2QY'Y[]M<3S$"U<M:6
M/-5C_*^4,Z_T@F! ?N!+42IA7%T%!B8"L.0 N>HBN"9P\=JQ;8/I@U'[JU-_
M"C5QR BHN5+ .\^C9QG=S&B2@8;55KIV*/V<Q<5HG17=_7)Q;B;_6$7S3XX-
M+F(8>1O7'HTYC!AG>7QN"21,:(&O[+A0$P"8M\OBSCKJ9O]^QHW%?!;_>;OI
MG[%5[L?J*#OW50%S[Z7VE%#J/6<6$$9RCCA$O$3FR@X?M0"ZECG>P3+S=?2[
MQ]7CPRQ.)(MS>.H<46'Y.#(J4,FB6AL%>%S!(<.8(5%LDGL-<:543V>T5E'J
M8\."82 OC 7&2QD)]4!!DU-+ 0!$Z]X26QVXBHV 8-X:K[M2W9[[EC2OP-9+
MP:TE4788RKA2"YU?XTL<A)#%P'\ "IQ?3!KM?3:[?3Q5?7%P3,"0Y54\$9]2
M0V^,8(07="+N4<HI@@$Z?(U(_)"V)O*V*T]/C?]WO5QMG ,_7QQQ'4X4:)SU
MGL 5TY1:IXA24G)AE2JYBSRQ*<GJ(>.L/B;FW7&[*^3E6\HW=VH\WS3;.[DI
MO^_QH)VWUD-,.4>&"!]YZ K*,%7VRDK&6I+ZO'%&=V:\=O1_R>^>&RW&RV\_
MQZ-5%I]GD)W$5*7QP3FHI<',<F)!M/T .UW23J2YLD4Q3?RO[50+#.X*7#NK
M79Q26#V>6 +W#PB.04&$]$12!IUW#G-34B=B4'!=^8SFU[I&V-H?:$Y6*1X:
M$EU0#K6+,9T6!GKD+=.LH) H3:[LS$*JF$^BIA97N\)-7,^SR8^9R:WEXO'D
MPK7O\0"H0B;OY0TU\!8;8P7<4>;]E=5"IPMXWCA/.ZOUB)0O5Y/;JG#9^WQ@
MED+%L6  >@ L\-#L&!77]][N2K\0O#3!U/Z6I;]'#Z?.7!P>%/U!%(,)I3 T
MFGA A "@I%);D6)J!ECZTX5/4Y.U_0*HAF_S-"Q82*FW'B@,J$>.HVAB"TJI
MP?#*VB<W(?)***K%W:YP5&R(F_G#PV2YC$*+?/^PR*8Q.#RYBIT<&Z3*5V<@
M8OB(I#0JFN RY4%16A.<BT'4N>+?7['0&).[ZR$Q6F5J_#"93?(,_O;2R\B;
MS;_,_60V.GWLI^(K E> D3RKQJ!E3!"*29FOH( DG1Z[",>I 9BUQ.O.E\-G
M'L''"H>$CHX+TF&MJ='>61ZIC-SD99:-VK1=D0&V6FK1JVJ NUTAR=W=9?F]
MU=EN\OG]7'G!V.QV,IULY;CR693B:)IKS3K*_/'%PT?PUL#;@W-:4<@UUH19
M3"'E!I=\HXY?61%@0QAZW6:U<SD,";]%9N7%$W82!^8"F8RFB0 ^]?J0MV-G
M3#)JI(<.1C];VH)S3"+5309>;A$\VW2?'%\IAAL615<@-NN'=7X]XJ]L2^3-
M['->P33+QFZTR!M5+?_.5AO_Y%C'L3/>$APG0!G"-+)80:T-%[3D ^4D)?=V
M(0F4=$"VQ^_3N#O0U+6*CNR_HM#]OLV6RSA 9[/L;K+ZE"UN(V?WP*V=#P7/
MK/=1"1V1W!(&->>JY%"4PK4&-0V4?@U"()U'/N[W*$9O&PKB[_*V@9G-MO_]
M,/LX&7W?7#;K(^<_Y76W)\Z=IKPV("!LC#4QX-PX11W2MA08\])?6>_C5JL6
MVV=_;=OZYWPBK[/E2LW&G[+9:+J:[&UU7'EL0%(Y(A1CB@BDK 4>E:D&AM55
MW];;N#EL@>&U@?,$V_GBV^PV6^1.0J3UTWRY.9)U$#4G!P:G/ -..RBAUP1R
MJ*TH*<@=F03(#+!W<>,H:9K!72V")^?]=USUUXO%?@>NQEM"[@;0J!^<>I\G
M0 GS9=S$)<8IS:?.;DG\*UM\GU^J=6J?^;7MU+?98GM.]/^R\6KT^_O6'5S>
MS_\]&RTCH\;KVWQFJ_EL-[5Q(;?X^&BYS%8'35D3[PZ40*:XY$XBH64,IBPI
M><T))2D@Y&_ VO4@@ZX,XG/2GB*9Y8Z%NS4_KO\[5^#V=K'>>W]. V\-W@$'
MA'/84J1X9%@$0,DGQV1*\:1X0\Y<]Z*H;3[_FLPF#^N')X_S65"3!]N976=?
MYY^SZ?:OGZ-L%[\.APPU7Q<H QIZA(#"0B 0^6UD2:WQKZ^6/PMX\@T!KT,9
MU$?<Z'>CB*OWNF"9T Y)P_,.451YSV2Y!R\$%SQE@PZ\.<AU(H3:D(OS>,Q&
MB^4\SF4USYZR-=\?-V8W6N&B@N=+G-?D]N!=8F>_* B&A$*(.V0911+(_-:K
M@L+(W*2>R4/>"&X*66US/"6Q]D?R+T_L+;_-HG2>_?)F=1__?[::G$BUU7A;
MX!A 1*(':ZEA# %M+"II51XG'79)VG^X1"/6B0RZ:B;Q<@_EYN[;;++*QIL"
MLN7KB@DS7_R<+_+>G=O]EZ_S?*=E-'M<[O9GBK_<+)Y\U\7\UR0O=;RZMA7&
M8*:@E]9*C+R@<4VRRCD% 4<:H4J%#V^U[(GBO,#&. B(=IQ2:O*+VC>\XP3Z
MWHZ6]VR/*D.JA0JH\T0RI JH;;GK;/PQPF2Z>^[HU9PIKPU$8A C:R?B3Q6M
M.H'(%9RRG.#>>JA=,7@;DL604-MWW9XT2D/K&#9*&.5B#&]*?;<NAEM][>M?
M,8H;ELF0T)R7GT5I3_9NDM1[46!$*RWCD@2<!)9(@+PJN:$=2]D1J5XR\+*R
M]&NOD7&;V*S-][=8SD>U AH J)B50B$6UQY=<@C9I'[=U2L3+AF9@Y#+D.SG
M)E?PK 55HA5]_;H '%,((<PX)5XJ$'W[4D".09ZRV@_PUN6^C&@BV_L%Y+9\
M?#V9_;CYF6U/#9X/PWTO"2)2[( 0G# O@6;00EAR 3F;$C"=7]HP7XVFU^AJ
M-L#YKI*.FX.(U]2"&O*HV,H;"Q7RVBCD)"JZ#TLEJEV W=+)[=O[;+R>9C=W
MU9S *)A*]YHDO#8  JQD' &LB7)<1OOH2VY1#]YJ\J\RB%Z?]NY.%AT8B/\>
M+1:CV>KQYOMT\N/E(M2YH?BTF.=E8\64)MGR26I5[CRI,CQ8B"D4VAN-L(02
M" ^VC<N=D$[Z'F\=?SG]Q_-ZV)\>'+@SAGAHD8%:N+Q W9LMY9(9S2NU_;Y0
M,] L,N8ML[X?K3?WH]F/;/EAMN=O/>\E=F$7&/)<.N I991K*+!V1%G/F9+6
M*]3CI6A_S7]M&B%_F)5M9U\A;E.:.)I^GD^G?K[X=WS@"#-JO"T@PH$R4.0W
M=2%K(<M7SH(WUKFDFJSA!;/-PF7>-?N["FKWS[OZ$E4,"%Q)2"#3D.?G[B"1
MBIJ2NLC:3N_BBX'<9)Y78RQ6W2U.K4+B^%I53P;](NQ)+S\LE\=+[JN](!#@
MA30((VJDYIHJ2VQ!O5.6=KJ_W/EQI/[1ERB/?M'X:?1X*G]\?&#0W@END!-&
M48Z%@UZ*DEJ$>0KZJN\+[^WG\B;05U,.'78"W+!%S<:N<+CWTU$V?-X<M;I]
M_!K_MIQN /&/T63V<;X\!M$&OQ*0!IA:2)G3A@F > QZ2CX21U,Z; W]X'F7
M:.Y/9)?F8+)(BH2.8JLY=L91#LA.L4FU^PJ;.M:^=3#=[$V9V#,ET$_ZH^<]
MDBY2'(@;KKC5$#)!';%.E7<V"JP0[S'U^912?X6@W<'V&CLEU5X5A)?>".F$
M9L H#X'2Q3: (,*JWBXF&4I:M#)J#FZ3M"*(+JQ$7#?OHSNL8E V^I%M2F/Z
MLQ!E&[A/V6(SDPI6X="0P!F46.<-C1 RWAML*=RRVE! 0"4?K1LJJZC\P3$!
M$BGC0B:1HY1A#ZE2M* SOTZNMTMD.M#M=-F_KH)HB,M]*:X936_7T^+8U=XG
M>M[E:%+!E8,:4PH9C.&L!H 2Y8J;E(D6H,<K?E]Q_N]UWAC]YFXK@9OU:ID[
MJ9$F/5I.;H^0?M9[ O<X.K ,Z(WK2:%1$);\L)$U71J"SE-\Z2B9=\?[KJ++
MO338R72='\=\3<A3B>&YB#S]QF"TMXQP)2+/+9?1O^*HY _#2:6B0S_>U TR
M&Y=!KQB]N3M$S_G6\M";@@,0<(HUET0"S)G$1A?\B*L[2;G-Z/S#2MU6D'9E
M+1OB?5_NU!4Y2Y8)[%V^;1\=5P1)Y+_>5N<X*#"ME"!LATH5H_)QCI/)K^Q+
M=KM>;%H;N-^WTW5D<]ZX-C^EL5X57NT?%#[DM_D=84DC[P^,0(0Y4EY@R8&V
M ")9\ \I#'N[J*I/8U$94Z_OF.Y!(GV9D)Y3KHTF5!RSVB#!J';268TPLUN;
MC0A 8A %Z4>]]AKYU3/>%ZRAT-'H5V&DHC9@YKDN^</)5=>>IF/F8&*U/0E4
M, G%'_(?^7G!__R/_P=02P$"% ,4    "  C@?Y,-HRJ>7A# 0"@&A< $0
M            @ $     8V=N>"TR,#$X,#<P,2YX;6Q02P$"% ,4    "  C
M@?Y,YJ*XDA 0  ")J@  $0              @ &G0P$ 8V=N>"TR,#$X,#<P
M,2YX<V102P$"% ,4    "  C@?Y,B@53<VTD   H?P$ %0
M@ 'F4P$ 8V=N>"TR,#$X,#<P,5]C86PN>&UL4$L! A0#%     @ (X'^3$@>
M*.@R/P  M2(# !4              ( !AG@! &-G;G@M,C Q.# W,#%?9&5F
M+GAM;%!+ 0(4 Q0    ( ".!_DQ$LUKEI+H  +_Z"0 5              "
M >NW 0!C9VYX+3(P,3@P-S Q7VQA8BYX;6Q02P$"% ,4    "  C@?Y,0I*Q
MT/9P   CX04 %0              @ '"<@( 8V=N>"TR,#$X,#<P,5]P<F4N
9>&UL4$L%!@     &  8 B@$  .OC @    $!

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