<SEC-DOCUMENT>0001157523-18-002182.txt : 20181029
<SEC-HEADER>0001157523-18-002182.hdr.sgml : 20181029
<ACCEPTANCE-DATETIME>20181029162128
ACCESSION NUMBER:		0001157523-18-002182
CONFORMED SUBMISSION TYPE:	8-K
PUBLIC DOCUMENT COUNT:		2
CONFORMED PERIOD OF REPORT:	20181029
ITEM INFORMATION:		Results of Operations and Financial Condition
ITEM INFORMATION:		Other Events
ITEM INFORMATION:		Financial Statements and Exhibits
FILED AS OF DATE:		20181029
DATE AS OF CHANGE:		20181029

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:		8-K
		SEC ACT:		1934 Act
		SEC FILE NUMBER:	001-34218
		FILM NUMBER:		181144467

	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>8-K
<SEQUENCE>1
<FILENAME>a51890622.htm
<DESCRIPTION>COGNEX CORP. 8-K
<TEXT>
<html>
  <head>
    <title></title>
<!--Copyright 2018 Business Wire, a Berkshire Hathaway company.-->
<!--All rights reserved www.businesswire.com-->
  </head>
  <body style="font-family: Times New Roman; font-size: 10pt">
    <p style="text-align: center">
      <br>
      <font style="font-family: Times New Roman; font-size: 12pt"><b>UNITED
      STATES</b></font><br><font style="font-family: Times New Roman; font-size: 12pt"><b>SECURITIES
      AND EXCHANGE COMMISSION</b></font><br><font style="font-family: Times New Roman; font-size: 12pt"><b>WASHINGTON,
      DC 20549</b></font><br><br><br><font style="font-family: Times New Roman; font-size: 18pt"><b>FORM
      8-K</b></font><br><br><font style="font-family: Times New Roman; font-size: 12pt"><b>CURRENT
      REPORT</b></font><br><font style="font-family: Times New Roman; font-size: 12pt"><b>Pursuant
      to Section 13 OR 15(d) of The Securities Exchange Act of 1934</b></font>
    </p>
    <p style="margin-left: 30.0px; text-align: left">
      <font style="font-family: Times New Roman; font-size: 12pt">Date of
      report (Date of earliest event reported): October 29, 2018</font><br><br>
    </p>
<div style="text-align:left">
    <table style="font-family: Times New Roman; margin-bottom: 10.0px; width: 100%; font-size: 10pt" cellspacing="0">
      <tr>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; border-bottom-color: black; padding-left: 0.0px" valign="top">
          <p style="margin-bottom: 0px; margin-top: 0px">
            <font style="font-size: 14pt">Cognex Corporation</font>
          </p>
        </td>
      </tr>
      <tr>
        <td style="text-align: center; padding-left: 0.0px" valign="top">
          <p style="margin-bottom: 0px; margin-top: 0px">
            (Exact name of registrant as specified in charter)
          </p>
        </td>
      </tr>
    </table>
    </div>
    <div style="text-align:center">
    <table style="font-family: Times New Roman; margin-bottom: 10.0px; margin-left:auto;margin-right:auto; width: 100%; font-size: 10pt" cellspacing="0">
      <tr>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; border-bottom-color: black; padding-left: 0.0px; width: 33%" valign="bottom">
          <p style="margin-bottom: 0px; margin-top: 0px">
            Massachusetts
          </p>
        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px; width: 34%" valign="bottom">
          <p style="margin-bottom: 0px; margin-top: 0px">
            001-34218
          </p>
        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px; width: 33%" valign="bottom">
          <p style="margin-bottom: 0px; margin-top: 0px">
            04-2713778
          </p>
        </td>
      </tr>
      <tr>
        <td style="text-align: center; padding-left: 0.0px; width: 33%" valign="top">
          <p style="margin-bottom: 0px; margin-top: 0px">
            (State or other jurisdiction
          </p>
          <p style="margin-bottom: 0px; margin-top: 0px">
            of incorporation)
          </p>
        </td>
        <td style="text-align: center; padding-left: 0.0px; width: 34%" valign="top">
          <p style="margin-bottom: 0px; margin-top: 0px">
            (Commission
          </p>
          <p style="margin-bottom: 0px; margin-top: 0px">
            File Number)
          </p>
        </td>
        <td style="text-align: center; padding-left: 0.0px; width: 33%" valign="bottom">
          <p style="margin-bottom: 0px; margin-top: 0px">
            (IRS Employer
          </p>
          <p style="margin-bottom: 0px; margin-top: 0px">
            Identification No.)
          </p>
        </td>
      </tr>
    </table>
    </div>
<div style="text-align:left">
    <table style="font-family: Times New Roman; margin-bottom: 10.0px; width: 100%; font-size: 10pt" cellspacing="0">
      <tr>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; border-bottom-color: black; padding-left: 0.0px; width: 50%" valign="bottom">
          <p style="margin-bottom: 0px; margin-top: 0px">
            One Vision Drive, Natick, Massachusetts
          </p>
        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px; width: 50%" valign="bottom">
          <p style="margin-bottom: 0px; margin-top: 0px">
            01760-2059
          </p>
        </td>
      </tr>
      <tr>
        <td style="text-align: center; padding-left: 0.0px; width: 50%" valign="bottom">
          <p style="margin-bottom: 0px; margin-top: 0px">
            (Address of principal executive offices)
          </p>
        </td>
        <td style="text-align: center; padding-left: 0.0px; width: 50%" valign="top">
          <p style="margin-bottom: 0px; margin-top: 0px">
            (Zip Code)
          </p>
        </td>
      </tr>
    </table>
    </div>
    <p style="margin-left: 30.0px; text-align: left">
      Registrant's telephone number, including area code: &#160;&#160;&#160;<font style="font-family: Times New Roman; font-size: 10pt">(508)
      650-3000</font>
    </p>
<div style="text-align:left">
    <table style="font-family: Times New Roman; margin-bottom: 10.0px; width: 100%; font-size: 10pt" cellspacing="0">
      <tr>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="top">
          <p style="margin-bottom: 0px; margin-top: 0px">
            N/A
          </p>
        </td>
      </tr>
      <tr>
        <td style="text-align: center; padding-left: 0.0px" valign="top">
          <p style="margin-bottom: 0px; margin-top: 0px">
            (Former name or former address, if changed since last report.)
          </p>
        </td>
      </tr>
    </table>
    </div>
    <p style="font-family: Times New Roman; text-indent: 60.0px; font-size: 10pt">
      <font style="font-family: Times New Roman; font-size: 10pt">Check the
      appropriate box below if the Form 8-K filing is intended to
      simultaneously satisfy the filing obligation of the registrant under any
      of the following provisions </font>(<i>see </i>General Instruction A.2.
      below):
    </p>
    <p style="font-family: Times New Roman; text-indent: 30.0px; font-size: 10pt">
      <font style="font-family: Arial Unicode MS; font-size: 10pt">&#8414;</font>
      <font style="font-family: Times New Roman; font-size: 10pt">Written
      communications pursuant to Rule 425 under the Securities Act (17 CFR
      230.425)</font>
    </p>
    <p style="font-family: Times New Roman; text-indent: 30.0px; font-size: 10pt">
      <font style="font-family: Arial Unicode MS; font-size: 10pt">&#8414;</font>
      <font style="font-family: Times New Roman; font-size: 10pt">Soliciting
      material pursuant to Rule 14a-12 under the Exchange Act (17 CFR
      240.14a-12)</font>
    </p>
    <p style="font-family: Times New Roman; text-indent: 30.0px; font-size: 10pt">
      <font style="font-family: Arial Unicode MS; font-size: 10pt">&#8414;</font>
      <font style="font-family: Times New Roman; font-size: 10pt">Pre-commencement
      communications pursuant to Rule 14d-2(b) under the Exchange Act (17 CFR
      240.14d-2(b))</font>
    </p>
    <p style="font-family: Times New Roman; text-indent: 30.0px; font-size: 10pt">
      <font style="font-family: Arial Unicode MS; font-size: 10pt">&#8414;</font>
      <font style="font-family: Times New Roman; font-size: 10pt">Pre-commencement
      communications pursuant to Rule 13e-4(c) under the Exchange Act (17 CFR
      240.13e-4(c)) </font>
    </p>
    <p style="font-family: Times New Roman; text-indent: 60.0px; font-size: 10pt">
      Indicate by check mark whether the registrant is an emerging growth
      company as defined in Rule 405 of the Securities Act of 1933 (&#167;230.405
      of this chapter) or Rule 12b-2 of the Securities Exchange Act of 1934
      (&#167;240.12b-2 of this chapter).
    </p>
<div style="text-align:left">
    <table style="font-family: Times New Roman; margin-bottom: 10.0px; width: 100%; font-size: 10pt" cellspacing="0">
      <tr>
        <td style="text-align: left; padding-left: 0.0px; width: 60%" valign="top">
          <p style="margin-bottom: 0px; margin-top: 0px">
            &#160;
          </p>
        </td>
        <td style="text-align: left; padding-left: 0.0px; width: 30%" valign="bottom">
          <p style="margin-bottom: 0px; margin-top: 0px">
            Emerging growth company
          </p>
        </td>
        <td style="text-align: right; padding-left: 0.0px; width: 5%" valign="top">
          <p style="margin-bottom: 0px; margin-top: 0px">
            &#8414;
          </p>
        </td>
        <td style="width: 5%">

        </td>
      </tr>
    </table>
    </div>
    <p style="font-family: Times New Roman; text-indent: 60.0px; font-size: 10pt">
      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.
    </p>
<div style="text-align:left">
    <table style="font-family: Times New Roman; margin-bottom: 10.0px; width: 100%; font-size: 10pt" cellspacing="0">
      <tr>
        <td style="width: 60%">
          &#160;
        </td>
        <td style="width: 30%">
          &#160;
        </td>
        <td style="text-align: right; padding-left: 0.0px; width: 5%" valign="top">
          <p style="margin-bottom: 0px; margin-top: 0px">
            &#8414;
          </p>
        </td>
        <td style="width: 5%">

        </td>
      </tr>
    </table>
    </div>
    <div style="margin-right: 0pt; margin-bottom: 10pt; margin-left: 0pt; width: 100%; text-indent: 0pt">
      <div>
        <div style="text-align: left">

        </div>
      </div>
      <div style="page-break-after: always">
        <div style="text-align: center">

        </div>
        <div style="text-align: center">
          <hr style="color: black; height: 1.5pt">

        </div>
      </div>
      <div>
        <div style="text-align: right">

        </div>
      </div>
    </div>
    <p>

    </p>
    <p style="white-space: nowrap">
      Item 2.02&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Results of Operations and Financial Condition
    </p>
    <p style="text-align: justify">
      On October 29, 2018, Cognex Corporation (the &#8220;Company&#8221;) issued a news
      release to report its financial results for the quarter ended September
      30, 2018. The release is furnished as Exhibit 99.1 hereto. The
      information in Item 2.02 of this Current Report on Form 8-K, including
      the Exhibit attached hereto, shall not be deemed &#8220;filed&#8221; for purposes of
      Section 18 of the Securities Exchange Act of 1934, nor shall it be
      deemed to be incorporated by reference in any filing under the
      Securities Act of 1933 or the Securities Exchange Act of 1934,
      regardless of any general incorporation language in such filing.<br><br><br>Item
      8.01&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Other Events
    </p>
    <p style="text-align: justify">
      On October 29, 2018, the Company announced that its Board of Directors
      declared a quarterly cash dividend of $0.05 per share, payable on
      November 30, 2018 to all shareholders of record at the close of business
      on November 16, 2018. This dividend represents an increase of $0.005 per
      share, or 11%, over the $0.045 per share dividend paid in the prior
      quarter.
    </p>
    <p style="text-align: justify">
      On October 29, 2018, the Company announced that its Board of Directors
      has authorized the purchase of up to $200 million of the Company&#8217;s
      common stock in open market transactions.&#160;&#160;This new authorization is in
      addition to the $150 million stock repurchase program that was announced
      by the Company on February 15, 2018, of which approximately $53 million
      remains available as of the date of this Current Report on Form
      8-K.&#160;&#160;Purchases under the new authorization can commence once the
      Company completes the existing program and will be subject to market
      conditions and other relevant factors.&#160;&#160;The Company may suspend or
      discontinue the stock repurchase program at any time.<br><br><br>Item
      9.01&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Financial Statements and Exhibits
    </p>
    <p style="text-align: justify">
      (d)&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Exhibits
    </p>
<div style="text-align:left">
    <table style="font-family: Times New Roman; margin-bottom: 10.0px; width: 100%; font-size: 10pt" cellspacing="0">
      <tr>
        <td style="text-align: left; padding-left: 0.0px; width: 14%" valign="top">
          <p style="margin-bottom: 0px; margin-top: 0px">
            <u>Exhibit No.</u>
          </p>
        </td>
        <td style="text-align: left; padding-left: 0.0px; width: 86%" valign="top">
          <p style="margin-bottom: 0px; margin-top: 0px">
            <u>Description</u>
          </p>
        </td>
      </tr>
      <tr>
        <td style="width: 14%">

        </td>
        <td style="width: 86%">
          &#160;
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px; width: 14%" valign="top">
          <p style="margin-bottom: 0px; margin-top: 0px">
            <a href="a51890622ex99_1.htm">99.1</a>
          </p>
        </td>
        <td style="text-align: left; padding-left: 0.0px; width: 86%" valign="top">
          <p style="margin-bottom: 0px; margin-top: 0px">
            <a href="a51890622ex99_1.htm">News release, dated October 29,
            2018, by Cognex Corporation</a>
          </p>
        </td>
      </tr>
    </table>
    </div>
    <p style="white-space: nowrap">

    </p>
    <div style="margin-right: 0pt; margin-bottom: 10pt; margin-left: 0pt; width: 100%; text-indent: 0pt">
      <div>
        <div style="text-align: left">

        </div>
      </div>
      <div style="page-break-after: always">
        <div style="text-align: center">

        </div>
        <div style="text-align: center">
          <hr style="color: black; height: 1.5pt">

        </div>
      </div>
      <div>
        <div style="text-align: right">

        </div>
      </div>
    </div>
    <p>

    </p>
    <p style="text-align: center">
      <font style="font-family: Times New Roman; font-size: 10pt"><b>SIGNATURES</b></font>
    </p>
    <p>
      <font style="font-family: Times New Roman; font-size: 10pt">Pursuant to
      the requirements of the Securities Exchange Act of 1934, as amended, the
      registrant has duly caused this report to be signed on its behalf by the
      undersigned hereunto duly authorized.</font>
    </p>
    <p>

    </p>
<div style="text-align:left">
    <table style="font-family: Times New Roman; margin-bottom: 10.0px; width: 100%; font-size: 10pt" cellspacing="0">
      <tr>
        <td style="width: 7%">

        </td>
        <td style="width: 38%">

        </td>
        <td style="text-align: left; padding-left: 0.0px; width: 55%" valign="top">
          <p style="margin-bottom: 0px; margin-top: 0px">
            COGNEX CORPORATION
          </p>
        </td>
      </tr>
      <tr>
        <td style="width: 7%">

        </td>
        <td style="width: 38%">

        </td>
        <td style="text-align: left; padding-left: 0.0px; width: 55%" valign="top">
          <p style="margin-bottom: 0px; margin-top: 0px">
            &#160;
          </p>
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 0.0px; width: 7%" valign="top">
          <p style="margin-bottom: 0px; margin-top: 0px">
            Dated:
          </p>
        </td>
        <td style="text-align: left; padding-left: 0.0px; width: 38%" valign="top">
          October 29, 2018
        </td>
        <td style="text-align: left; padding-left: 0.0px; width: 55%" valign="top">
          <p style="margin-bottom: 0px; margin-top: 0px">
            <u>By: /s/ John J. Curran</u>
          </p>
        </td>
      </tr>
      <tr>
        <td style="width: 7%">

        </td>
        <td style="width: 38%">

        </td>
        <td style="text-align: left; padding-left: 0.0px; width: 55%" valign="top">
          <p style="margin-bottom: 0px; margin-top: 0px">
            John J. Curran
          </p>
        </td>
      </tr>
      <tr>
        <td style="width: 7%">

        </td>
        <td style="width: 38%">

        </td>
        <td style="text-align: left; padding-left: 0.0px; width: 55%" valign="top">
          <p style="margin-bottom: 0px; margin-top: 0px">
            Senior Vice President of Finance,
          </p>
        </td>
      </tr>
      <tr>
        <td style="width: 7%">

        </td>
        <td style="width: 38%">

        </td>
        <td style="text-align: left; padding-left: 0.0px; width: 55%" valign="top">
          <p style="margin-bottom: 0px; margin-top: 0px">
            Chief Financial Officer and
          </p>
        </td>
      </tr>
      <tr>
        <td style="width: 7%">

        </td>
        <td style="width: 38%">

        </td>
        <td style="text-align: left; padding-left: 0.0px; width: 55%" valign="top">
          <p style="margin-bottom: 0px; margin-top: 0px">
            Treasurer
          </p>
        </td>
      </tr>
    </table>
    </div>
    <p>

    </p>
  </body>
</html>
<!--<!DOCTYPE html
     PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">-->
</TEXT>
</DOCUMENT>
<DOCUMENT>
<TYPE>EX-99.1
<SEQUENCE>2
<FILENAME>a51890622ex99_1.htm
<DESCRIPTION>EXHIBIT 99.1
<TEXT>
<html>
  <head>
    <title></title>
<!--Copyright 2018 Business Wire, a Berkshire Hathaway company.-->
<!--All rights reserved www.businesswire.com-->
  </head>
  <body style="font-family: Times New Roman; font-size: 8pt">
    <p style="text-align: right">
      <b>Exhibit 99.1</b>
    </p>
    <p style="text-align: center">
      <font style="font-family: Times New Roman; font-size: 12pt"><b>Cognex
      Reports Results for the Third Quarter of 2018</b></font>
    </p>
    <p>
      NATICK, Mass.--(BUSINESS WIRE)--October 29, 2018--Cognex Corporation
      (NASDAQ: CGNX) today announced financial results for the third quarter
      of 2018. Table 1 below shows selected financial data for Q3-18 compared
      with Q3-17 and Q2-18, and the first nine months of 2018 compared with
      the first nine months of 2017. All periods presented reflect the
      two-for-one stock split that occurred in Q4-17.
    </p>
<div style="text-align:left">
    <table style="font-family: Times New Roman; margin-bottom: 10.0px; width: 100%; font-size: 8pt" cellspacing="0">
      <tr>
        <td>

        </td>
        <td>
          &#160;
        </td>
        <td>

        </td>
        <td>
          &#160;
        </td>
        <td>

        </td>
        <td>
          &#160;
        </td>
        <td>

        </td>
        <td>
          &#160;
        </td>
        <td>

        </td>
      </tr>
      <tr>
        <td style="text-align: center; padding-left: 0.0px" colspan="9" valign="top">
          <p style="margin-bottom: 0px; margin-top: 0px">
            <u><b>Table 1*</b></u>
          </p>
          <p style="margin-bottom: 0px; margin-top: 0px">
            (Dollars in thousands, except per share amounts)
          </p>
        </td>
      </tr>
      <tr>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
      </tr>
      <tr>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <p style="margin-bottom: 0px; margin-top: 0px">
            &#160;
          </p>
          <p style="margin-bottom: 0px; margin-top: 0px">
            &#160;
          </p>
          <p style="margin-bottom: 0px; margin-top: 0px">
            <u><b>Revenue</b></u>
          </p>
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <p style="margin-bottom: 0px; margin-top: 0px">
            &#160;
          </p>
          <p style="margin-bottom: 0px; margin-top: 0px">
            &#160;
          </p>
          <p style="margin-bottom: 0px; margin-top: 0px">
            <u><b>Net Income</b></u>
          </p>
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <p style="margin-bottom: 0px; margin-top: 0px">
            <b>Net Income </b><br><b>per Diluted</b><br><u><b>Share</b></u>
          </p>
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <p style="margin-bottom: 0px; margin-top: 0px">
            <b>Non-GAAP </b><br><b>Net Income</b><br><b>per Diluted</b><br><u><b>Share**</b></u>
          </p>
        </td>
      </tr>
      <tr>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; border-bottom-color: black; padding-left: 0.0px" valign="top">
          <p style="margin-bottom: 0px; margin-top: 0px">
            <u><b>Quarterly Comparisons</b></u>
          </p>
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
      </tr>
      <tr>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black; padding-left: 0.0px" valign="top">
          <b>Current quarter : Q3-18</b>
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>$232,221</b>
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>$80,436</b>
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>$0.45</b>
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>$0.39</b>
        </td>
      </tr>
      <tr>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black; padding-left: 0.0px" valign="top">
          Prior year&#8217;s quarter: Q3-17
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $266,042
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $102,493
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $0.57
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $0.51
        </td>
      </tr>
      <tr>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black; padding-left: 0.0px" valign="top">
          Change: Q3-17 to Q3-18
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          (13%)
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          (22%)
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          (21%)
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          (24%)
        </td>
      </tr>
      <tr>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black; padding-left: 0.0px" valign="top">
          Prior quarter: Q2-18
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <p style="margin-bottom: 0px; margin-top: 0px">
            $211,264
          </p>
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $56,196
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $0.32
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $0.31
        </td>
      </tr>
      <tr>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black; padding-left: 0.0px" valign="top">
          Change: Q2-18 to Q3-18
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          10%
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          43%
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          41%
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          26%
        </td>
      </tr>
      <tr>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; border-bottom-color: black; padding-left: 0.0px" valign="top">
          <p style="margin-bottom: 0px; margin-top: 0px">
            <u><b>Year-to-Date Comparisons</b></u>
          </p>
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
      </tr>
      <tr>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black; padding-left: 0.0px" valign="top">
          Nine months ended Sep. 30, 2018
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>$613,052</b>
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>$173,849</b>
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>$0.98</b>
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>$0.88</b>
        </td>
      </tr>
      <tr>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black; padding-left: 0.0px" valign="top">
          Nine months ended Oct. 1, 2017
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $583,161
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $204,459
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $1.14
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $0.98
        </td>
      </tr>
      <tr>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black; padding-left: 0.0px" valign="top">
          Change from first nine months of 2017 to first nine months of 2018
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          5%
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          (15%)
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          (14%)
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          (10%)
        </td>
      </tr>
    </table>
    </div>
    <p>
      * The financial results for all periods presented reflect the
      retroactive adoption of a new revenue recognition standard (ASC 606,
      &#8220;Revenue from Contracts with Customers&#8221;) that became effective on
      January 1, 2018. This standard did not have a material impact on total
      revenue. For a historical perspective, Exhibit 4 of this news release
      includes the company&#8217;s quarterly Statement of Operations for 2017
      adjusted for the impact of the new standard.<br>**Non-GAAP net income
      per diluted share excludes tax adjustments. A reconciliation from GAAP
      to Non-GAAP is shown in Exhibit 2 of this news release.
    </p>
    <div style="margin-right: 0pt; margin-bottom: 10pt; margin-left: 0pt; width: 100%; text-indent: 0pt">
      <div>
        <div style="text-align: left">

        </div>
      </div>
      <div style="page-break-after: always">
        <div style="text-align: center">

        </div>
        <div style="text-align: center">
          <hr style="color: black; height: 1.5pt">

        </div>
      </div>
      <div>
        <div style="text-align: right">

        </div>
      </div>
    </div>
    <p>
      &#8220;Our results for Q3-18 were very good,&#8221; said Dr. Robert J. Shillman,
      Chairman of Cognex. &#8220;We reported the second-best quarterly revenue, net
      income and earnings per share&#160;from continuing operations in our
      company&#8217;s 37-year history. These results were surpassed only by our
      spectacular performance in last year&#8217;s third quarter, which was driven
      by exceptional growth across our business, particularly in our largest
      end market&#8212;consumer electronics.&#8221;
    </p>
    <p>
      &#8220;I am pleased with the substantial revenue growth and operating margin
      expansion that we achieved on a sequential basis,&#8221; said Robert J.
      Willett, Chief Executive Officer of Cognex. &#8220;More importantly, we
      accomplished significant company objectives that are expected to set us
      up for long-term growth. These include successfully implementing our new
      Enterprise Resource Planning (ERP) system and passing a number of key
      product development milestones.&#8221;
    </p>
    <p>
      Mr. Willett continued, &#8220;While we are pleased with our Q3-18 results,
      slower spending trends that we are experiencing in China have reduced
      our revenue outlook for Q4-18.&#8221;
    </p>
    <p>
      In separate news releases issued today, Cognex announced that its Board
      of Directors declared a quarterly cash dividend of $0.05 per share,
      payable on November 30, 2018 to all shareholders of record at the close
      of business on November 16, 2018. This dividend represents an increase
      of $0.005 per share, or 11%, over the $0.045 per share dividend paid in
      the prior quarter. In addition, the Board authorized the repurchase of
      up to $200 million of Cognex stock in open market transactions, subject
      to market conditions and other relevant factors. This new authorization
      will commence after Cognex completes an existing $150 million repurchase
      program, of which approximately $53 million remains available.
    </p>
    <p style="text-align: center">
      <u><b>Details of the Quarter</b></u>
    </p>
    <p>
      <b>Statement of Operations Highlights &#8211; Third Quarter of 2018</b>
    </p>
    <ul>
      <li style="margin-bottom: 10.0px">
        Revenue decreased 13% from Q3-17 and increased 10% from Q2-18. In
        constant currency, revenue decreased 13% year-on-year and grew 12%
        sequentially. The decline year-on-year is due to significantly lower
        revenue in Q3-18 from large customers in OLED display and smartphone
        manufacturing following an extraordinarily high level of investment by
        them in machine vision in Q3-17. The increase in revenue on a
        sequential basis is due to a higher concentration of large orders from
        customers in the consumer electronics market in Q3-18.
      </li>
      <li style="margin-bottom: 10.0px">
        Gross margin was 75% for Q3-18 compared with 74% for both Q3-17 and
        Q2-18, consistent with Cognex&#8217;s target range.
      </li>
    </ul>
    <div style="margin-right: 0pt; margin-bottom: 10pt; margin-left: 0pt; width: 100%; text-indent: 0pt">
      <div>
        <div style="text-align: left">

        </div>
      </div>
      <div style="page-break-after: always">
        <div style="text-align: center">

        </div>
        <div style="text-align: center">
          <hr style="color: black; height: 1.5pt">

        </div>
      </div>
      <div>
        <div style="text-align: right">

        </div>
      </div>
    </div>
    <ul>
      <li style="margin-bottom: 10.0px">
        Research, Development &amp; Engineering (RD&amp;E) expenses increased 14% from
        Q3-17 and 10% from Q2-18. The year-on-year increase in RD&amp;E is
        attributable to Cognex&#8217;s investment in engineering resources for new
        product development. The sequential increase is primarily related to
        personnel-related costs and engineering materials.
      </li>
      <li style="margin-bottom: 10.0px">
        Selling, General &amp; Administrative (SG&amp;A) expenses increased 8% from
        Q3-17 and decreased 1% from Q2-18. SG&amp;A increased year-on-year due to
        continued investments in sales resources as well as higher commissions
        and travel expenses. On a sequential basis, the decrease was primarily
        due to the impact of currency exchange rate fluctuations in the
        company&#8217;s international operations.
      </li>
      <li style="margin-bottom: 10.0px">
        Investment and other income totaled $3.8 million in Q3-18, $2.0
        million in Q3-17 and $3.3 million in Q2-18. The increase both
        year-on-year and sequentially is from higher yields and a higher
        average invested balance. Also contributing was a lower expense in
        Q3-18 associated with changes to the fair value of contingent
        consideration related to recent acquisitions.
      </li>
      <li style="margin-bottom: 10.0px">
        The effective tax rate was 1% in Q3-18, 9% in Q3-17 and 16% in Q2-18.
        All periods presented include varying discrete tax adjustments
        realized during that quarter. Notably, Q3-18 included $12.2 million of
        discrete tax benefits, with the largest being a $7.7 million reduction
        of the estimated tax liability that was recorded in Q4-17 associated
        with the Tax Cuts and Jobs Act of 2017 (Tax Act). This estimated tax
        liability may be further adjusted as regulatory guidance regarding the
        Tax Act continues to develop.
      </li>
      <li style="margin-bottom: 10.0px">
        Excluding all discrete tax events, the rate was 16%, 18% and 17% in
        Q3-18, Q3-17 and Q2-18, respectively (tax adjustments are summarized
        in Exhibit 2). The decrease in the rate year-on-year was due primarily
        to the impact of the Tax Act, which lowered the U.S. federal statutory
        corporate tax rate from 35% to 21%.
      </li>
    </ul>
    <p>
      <b>Balance Sheet Highlights &#8211; September 30, 2018</b>
    </p>
    <ul>
      <li style="margin-bottom: 10.0px">
        Cognex&#8217;s financial position as of September 30, 2018, continued to be
        strong, with $809 million in cash and investments, with no debt. Cash
        and investments decreased by $19 million from the end of 2017. During
        the first nine months of 2018, cash inflows consisted of $152 million
        generated from operations and $26 million received from the exercise
        of employee stock options. Cash outflows included $142 million spent
        to repurchase Cognex common stock, $27 million for capital
        expenditures, and $23 million in dividends paid to shareholders.
        Cognex intends to continue to repurchase shares of its common stock in
        Q4-18, subject to market conditions and other relevant factors.
      </li>
    </ul>
    <div style="margin-right: 0pt; margin-bottom: 10pt; margin-left: 0pt; width: 100%; text-indent: 0pt">
      <div>
        <div style="text-align: left">

        </div>
      </div>
      <div style="page-break-after: always">
        <div style="text-align: center">

        </div>
        <div style="text-align: center">
          <hr style="color: black; height: 1.5pt">

        </div>
      </div>
      <div>
        <div style="text-align: right">

        </div>
      </div>
    </div>
    <ul>
      <li style="margin-bottom: 10.0px">
        Inventories increased by $26 million, or 38%, from the end of 2017 due
        to strategic purchases (including safety stock in anticipation of our
        ERP implementation in Q3-18) and in preparation for planned new
        product introductions.
      </li>
    </ul>
    <p>
      <b>Financial Outlook &#8211; Q4 2018</b>
    </p>
    <p>
      This financial outlook reflects the new revenue recognition standard
      (ASC 606, &#8220;Revenue from Contracts with Customers&#8221;) that took effect on
      January 1, 2018. This standard did not have a material impact on total
      revenue. For a historical perspective, Exhibit 4 of this news release
      includes the company&#8217;s quarterly Statement of Operations for 2017
      adjusted for the impact of the new standard.
    </p>
    <ul>
      <li style="margin-bottom: 10.0px">
        Revenue for Q4-18 is expected to be between $180 million and $190
        million. At the mid-point, that range represents a slight increase
        year-on-year, which is lower than the company&#8217;s long-term growth
        target due to both the slower spending by customers in China and a
        lingering headwind from last year&#8217;s high level of investment by large
        OLED display and smartphone manufacturers. Excluding an expected $15
        million reduction related to the OLED/smartphone revenue, the
        year-on-year anticipated increase is approximately 10%.
      </li>
      <li style="margin-bottom: 10.0px">
        Gross margin is expected to be in the mid-70% range, slightly lower
        than the gross margin reported for Q3-18.
      </li>
      <li style="margin-bottom: 10.0px">
        Operating expenses are expected to be approximately flat on a
        sequential basis.
      </li>
      <li style="margin-bottom: 10.0px">
        The effective tax rate is expected to be 16% before discrete tax items.
      </li>
    </ul>
    <div style="margin-right: 0pt; margin-bottom: 10pt; margin-left: 0pt; width: 100%; text-indent: 0pt">
      <div>
        <div style="text-align: left">

        </div>
      </div>
      <div style="page-break-after: always">
        <div style="text-align: center">

        </div>
        <div style="text-align: center">
          <hr style="color: black; height: 1.5pt">

        </div>
      </div>
      <div>
        <div style="text-align: right">

        </div>
      </div>
    </div>
    <p>
      <b>Non-GAAP Financial Measures</b>
    </p>
    <ul>
      <li style="margin-bottom: 10.0px">
        Exhibit 2 of this news release includes a reconciliation of certain
        financial measures from GAAP to non-GAAP. Cognex believes these
        non-GAAP financial measures are helpful because they allow investors
        to more accurately compare Cognex results over multiple periods using
        the same methodology that management employs in its budgeting process
        and in its review of Cognex&#8217;s operating results. Non-GAAP
        presentations exclude the following: (1) stock option expense for
        calculating non-GAAP adjusted operating income and net income from
        continuing operations (because these expenses have no current effect
        on cash or the future uses of cash, and they fluctuate because of
        changes in Cognex&#8217;s stock price), and (2) certain one-time discrete
        events, such as tax adjustments (because these costs are outside of
        Cognex&#8217;s normal business operations). Cognex also uses results on a
        constant-currency basis as one measure to evaluate performance.
        Constant-currency information compares results between periods as if
        the exchange rates had remained constant period-over-period. Cognex
        does not intend for non-GAAP financial measures to be considered in
        isolation, or as a substitute for financial information provided in
        accordance with GAAP.
      </li>
      <li style="margin-bottom: 10.0px">
        The tax effect of items identified in the reconciliation is estimated
        by applying the effective tax rate to the pre-tax amount. However, if
        a specific tax rate or tax treatment is required because of the nature
        of the item and/or the tax jurisdiction where the item was recorded,
        the tax effect is estimated by applying the relevant specific tax rate
        or tax treatment, rather than the effective tax rate.
      </li>
    </ul>
    <p>
      <b>Analyst Conference Call and Simultaneous Webcast</b>
    </p>
    <ul>
      <li style="margin-bottom: 10.0px">
        Cognex will host a conference call today at 5:00 p.m. Eastern Time
        (ET). The telephone number is (877) 704-4573 (or (201) 389-0911 if
        outside the United States). A replay will begin at 8:00 p.m. ET today
        and will be available until 11:59 p.m. ET on Thursday, November 1,
        2018. The telephone number for the replay is (877) 660-6853 (or (201)
        612-7415 if outside the United States). The access code for both the
        live call and the replay is 13682517.
      </li>
      <li style="margin-bottom: 10.0px">
        Internet users can listen to a real-time audio broadcast of the
        conference call or an archived recording on the Cognex Investor
        Relations website: <u>http://www.cognex.com/Investor</u>.
      </li>
    </ul>
    <div style="margin-right: 0pt; margin-bottom: 10pt; margin-left: 0pt; width: 100%; text-indent: 0pt">
      <div>
        <div style="text-align: left">

        </div>
      </div>
      <div style="page-break-after: always">
        <div style="text-align: center">

        </div>
        <div style="text-align: center">
          <hr style="color: black; height: 1.5pt">

        </div>
      </div>
      <div>
        <div style="text-align: right">

        </div>
      </div>
    </div>
    <p>
      <b>About Cognex Corporation</b>
    </p>
    <p>
      Cognex Corporation designs, develops, manufactures and markets a wide
      range of image-based products, all of which use artificial intelligence
      (AI) techniques that give them the human-like ability to make decisions
      on what they see. Cognex products include machine vision systems,
      machine vision sensors and barcode readers that are used in factories
      and distribution centers around the world where they eliminate
      production and shipping errors.
    </p>
    <p>
      Cognex is the world's leader in the machine vision industry, having
      shipped more than 1.5 million vision-based products, representing over
      $5 billion in cumulative revenue, since the company's founding in 1981.
      Headquartered in Natick, Massachusetts, USA, Cognex has offices and
      distributors located throughout the Americas, Europe and Asia. For
      details visit Cognex online at <u>www.cognex.com</u>.
    </p>
    <p>
      <i>Certain statements made in this news release, which do not relate
      solely to historical matters, are forward-looking statements. These
      statements can be identified by 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 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, new product introductions, research
      and development activities, Cognex&#8217;s stock repurchase program and
      further stock repurchases, 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) the loss of a large customer; (2) current and
      future conditions in the global economy, including the imposition of
      tariffs; (3) the reliance on revenue from the consumer electronics or
      automotive industries; (4) the inability to penetrate new markets; (5)
      the inability to achieve significant international revenue; (6)
      fluctuations in foreign currency exchange rates and the use of
      derivative instruments; (7) information security breaches or business
      system disruptions; (8) the inability to attract and retain skilled
      employees; (9) the failure to effectively manage our growth; (10) the
      reliance upon key suppliers to manufacture and deliver critical
      components for our products; (11) the failure to effectively manage
      product transitions or accurately forecast customer demand; (12) the
      inability to design and manufacture high-quality products; (13) the
      technological obsolescence of current products and the inability to
      develop new products; (14) the failure to properly manage the
      distribution of products and services; (15) the inability to protect our
      proprietary technology and intellectual property; (16) our involvement
      in time-consuming and costly litigation; (17) the impact of competitive
      pressures; (18) the challenges in integrating and achieving expected
      results from acquired businesses; (19) potential impairment charges with
      respect to our investments or for acquired intangible assets or
      goodwill; (20) exposure to additional tax liabilities; and (21) the
      other risks detailed in Cognex reports filed with the SEC, including its
      Form 10-K for the fiscal year ended December 31, 2017. You should not
      place undue reliance upon any such forward-looking statements, which
      speak only as of the date made. Cognex disclaims any obligation to
      update forward-looking statements after the date of such statements.</i>
    </p>
    <div style="margin-right: 0pt; margin-bottom: 10pt; margin-left: 0pt; width: 100%; text-indent: 0pt">
      <div>
        <div style="text-align: left">

        </div>
      </div>
      <div style="page-break-after: always">
        <div style="text-align: center">

        </div>
        <div style="text-align: center">
          <hr style="color: black; height: 1.5pt">

        </div>
      </div>
      <div>
        <div style="text-align: right">

        </div>
      </div>
    </div>
    <p>
      <u><b>Exhibit 1</b></u>
    </p>
<div style="text-align:left">
    <table style="font-family: Times New Roman; margin-bottom: 10.0px; width: 100%; font-size: 8pt" cellspacing="0">
      <tr>
        <td>

        </td>
        <td>
          &#160;
        </td>
        <td colspan="11">

        </td>
        <td>
          &#160;
        </td>
        <td colspan="7">

        </td>
      </tr>
      <tr>
        <td style="text-align: center; padding-left: 0.0px" colspan="21" valign="top">
          <p style="margin-bottom: 0px; margin-top: 0px">
            <b>COGNEX CORPORATION</b><br><b>Statements of Operations</b><br><b>(Unaudited)</b><br><b>Dollars
            in thousands, except per share amounts</b>
          </p>
        </td>
      </tr>
      <tr>
        <td>

        </td>
        <td>

        </td>
        <td colspan="11">

        </td>
        <td>

        </td>
        <td colspan="7">
          &#160;
        </td>
      </tr>
      <tr>
        <td>

        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; border-bottom-color: black; padding-left: 0.0px" colspan="11" valign="bottom">
          <b>Three-months Ended</b>
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; border-bottom-color: black; padding-left: 0.0px" colspan="7" valign="bottom">
          <b>Nine-months Ended</b>
        </td>
      </tr>
      <tr>
        <td>

        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; border-bottom-color: black; padding-left: 0.0px" colspan="3" valign="bottom">
          <p style="margin-bottom: 0px; margin-top: 0px">
            <b>September 30,</b><br><b>2018</b>
          </p>
        </td>
        <td>
          &#160;
        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; border-bottom-color: black; padding-left: 0.0px" colspan="3" valign="bottom">
          July 1, 2018
        </td>
        <td>
          &#160;
        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; border-bottom-color: black; padding-left: 0.0px" colspan="3" valign="bottom">
          <p style="margin-bottom: 0px; margin-top: 0px">
            October 1,<br>2017
          </p>
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; border-bottom-color: black; padding-left: 0.0px" colspan="3" valign="bottom">
          <p style="margin-bottom: 0px; margin-top: 0px">
            <b>September 30,</b><br><b>2018</b>
          </p>
        </td>
        <td>
          &#160;
        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; border-bottom-color: black; padding-left: 0.0px" colspan="3" valign="bottom">
          <p style="margin-bottom: 0px; margin-top: 0px">
            October 1,<br>2017
          </p>
        </td>
      </tr>
      <tr>
        <td>

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">
          &#160;
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 0.0px" valign="bottom">
          Revenue (1)
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <b>$</b>
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <b>232,221</b>
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          211,264
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          266,042
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <b>$</b>
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <b>613,052</b>
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          583,161
        </td>
        <td>

        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-bottom: 2.0px; padding-left: 0.0px" valign="bottom">
          Cost of revenue (1)
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>58,860</b>
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          54,169
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          68,061
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>153,227</b>
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          142,757
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 0.0px" valign="bottom">
          Gross margin
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>173,361</b>
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          157,095
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          197,981
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>459,825</b>
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          440,404
        </td>
        <td>

        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 0.0px" valign="middle">
          <i>Percentage of revenue</i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i><b>75</b></i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i><b>%</b></i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>74</i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>74</i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i><b>75</b></i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i><b>%</b></i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>76</i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 0.0px" valign="bottom">
          Research, development, and engineering expenses (1)
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>29,700</b>
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          26,888
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          26,078
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>87,664</b>
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          72,225
        </td>
        <td>

        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 25.0px" valign="middle">
          <i>Percentage of revenue</i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i><b>13</b></i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i><b>%</b></i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>13</i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>10</i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i><b>14</b></i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i><b>%</b></i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>12</i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 0.0px" valign="bottom">
          Selling, general, and administrative expenses (1)
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>65,817</b>
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          66,752
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          61,054
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>196,266</b>
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          160,093
        </td>
        <td>

        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-bottom: 2.0px; padding-left: 25.0px" valign="bottom">
          <i>Percentage of revenue</i>
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          <i><b>28</b></i>
        </td>
        <td style="border-bottom-style: solid; text-align: left; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <i><b>%</b></i>
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>32</i>
        </td>
        <td style="border-bottom-style: solid; text-align: left; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>23</i>
        </td>
        <td style="border-bottom-style: solid; text-align: left; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          <i><b>32</b></i>
        </td>
        <td style="border-bottom-style: solid; text-align: left; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <i><b>%</b></i>
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>27</i>
        </td>
        <td style="border-bottom-style: solid; text-align: left; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 0.0px" valign="bottom">
          Operating income
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>77,844</b>
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          63,455
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          110,849
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>175,895</b>
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          208,086
        </td>
        <td>

        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 25.0px" valign="bottom">
          <i>Percentage of revenue</i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i><b>34</b></i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i><b>%</b></i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>30</i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>42</i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i><b>29</b></i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i><b>%</b></i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>36</i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 0.0px" valign="bottom">
          Foreign currency (loss)
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>(379</b>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <b>)</b>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          (195
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          )
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          (127
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          )
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>(708</b>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <b>)</b>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          (574
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          )
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-bottom: 2.0px; padding-left: 0.0px" valign="bottom">
          Investment and other income
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>3,808</b>
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          3,313
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          2,030
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>10,638</b>
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          6,281
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 0.0px" valign="bottom">
          Income before income tax expense
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>81,273</b>
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          66,573
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          112,752
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>185,825</b>
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          213,793
        </td>
        <td>

        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-bottom: 2.0px; padding-left: 0.0px" valign="bottom">
          Income tax expense
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>837</b>
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          10,377
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          10,259
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>11,976</b>
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          9,334
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-bottom: 4.0px; padding-left: 0.0px" valign="bottom">
          Net income
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>$</b>
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>80,436</b>
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          56,196
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          102,493
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>$</b>
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>173,849</b>
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          204,459
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 25.0px" valign="middle">
          <i>Percentage of revenue</i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i><b>35</b></i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i><b>%</b></i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>27</i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>39</i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i><b>28</b></i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i><b>%</b></i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>35</i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
      </tr>
      <tr>
        <td>

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">
          &#160;
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 0.0px" valign="bottom">
          Earnings per weighted-average common and common-equivalent share (2):
        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-bottom: 4.0px; padding-left: 25.0px" valign="bottom">
          Basic
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>$</b>
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>0.47</b>
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          0.33
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          0.59
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>$</b>
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>1.01</b>
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          1.18
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-bottom: 4.0px; padding-left: 25.0px" valign="bottom">
          Diluted
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>$</b>
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>0.45</b>
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          0.32
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          0.57
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>0.98</b>
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          1.14
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
      </tr>
      <tr>
        <td>

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">
          &#160;
        </td>
      </tr>
      <tr>
        <td>

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">
          &#160;
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 0.0px" valign="bottom">
          Weighted-average common and common-equivalent shares outstanding (2):
        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-bottom: 4.0px; padding-left: 25.0px" valign="bottom">
          Basic
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>172,189</b>
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          172,370
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          173,234
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>172,613</b>
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          173,052
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-bottom: 4.0px; padding-left: 25.0px" valign="bottom">
          Diluted
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>177,245</b>
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          177,149
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          179,354
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>178,021</b>
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          179,124
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
      </tr>
      <tr>
        <td>

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">
          &#160;
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-bottom: 4.0px; padding-left: 0.0px" valign="bottom">
          Cash dividends per common share (2)
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>$</b>
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>0.0450</b>
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          0.0450
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          0.0425
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>$</b>
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>0.1350</b>
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          0.1225
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-bottom: 4.0px; padding-left: 0.0px" valign="bottom">
          Cash and investments per common share (2)
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>$</b>
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>4.70</b>
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          4.39
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          4.45
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>$</b>
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>4.70</b>
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          4.45
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-bottom: 4.0px; padding-left: 0.0px" valign="bottom">
          Book value per common share (2)
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>$</b>
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>6.68</b>
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          6.27
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          6.55
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>$</b>
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>6.68</b>
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          6.55
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
      </tr>
      <tr>
        <td>

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">
          &#160;
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 0.0px" valign="bottom">
          (1) Amounts include stock option expense, as follows:
        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 25.0px" valign="bottom">
          Cost of revenue
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <b>$</b>
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <b>544</b>
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          557
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          520
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <b>$</b>
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <b>1,898</b>
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          1,404
        </td>
        <td>

        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 25.0px" valign="bottom">
          Research, development, and engineering
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>3,197</b>
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          3,154
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          2,765
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>11,166</b>
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          8,090
        </td>
        <td>

        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-bottom: 2.0px; padding-left: 25.0px" valign="bottom">
          Selling, general, and administrative
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>5,402</b>
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          5,291
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          4,741
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>18,275</b>
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          13,861
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-bottom: 4.0px; padding-left: 25.0px" valign="bottom">
          Total stock option expense
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>$</b>
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>9,143</b>
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          9,002
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          8,026
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>$</b>
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>31,339</b>
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          23,355
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
      </tr>
    </table>
    </div>
    <p>
      (2) Prior periods share and per share amounts have been adjusted to
      reflect the 2-for-1 stock split of the Company's common stock that
      occurred in the fourth quarter of 2017.
    </p>
    <div style="margin-right: 0pt; margin-bottom: 10pt; margin-left: 0pt; width: 100%; text-indent: 0pt">
      <div>
        <div style="text-align: left">

        </div>
      </div>
      <div style="page-break-after: always">
        <div style="text-align: center">

        </div>
        <div style="text-align: center">
          <hr style="color: black; height: 1.5pt">

        </div>
      </div>
      <div>
        <div style="text-align: right">

        </div>
      </div>
    </div>
    <p>
      <u><b>Exhibit 2</b></u>
    </p>
<div style="text-align:left">
    <table style="font-family: Times New Roman; margin-bottom: 10.0px; width: 100%; font-size: 8pt" cellspacing="0">
      <tr>
        <td>

        </td>
        <td>
          &#160;
        </td>
        <td colspan="2">

        </td>
        <td colspan="4">

        </td>
        <td colspan="4">

        </td>
        <td>

        </td>
        <td>
          &#160;
        </td>
        <td>
          &#160;
        </td>
        <td colspan="2">

        </td>
        <td colspan="4">

        </td>
        <td>

        </td>
      </tr>
      <tr>
        <td style="text-align: center; padding-left: 0.0px" colspan="22" valign="top">
          <p style="margin-bottom: 0px; margin-top: 0px">
            <b>COGNEX CORPORATION</b><br><b>Reconciliation of Selected Items
            from GAAP to Non-GAAP</b><br><b>(Unaudited)</b><br><b>Dollars in
            thousands, except per share amounts</b>
          </p>
        </td>
      </tr>
      <tr>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td colspan="4">

        </td>
        <td colspan="4">

        </td>
        <td>

        </td>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td colspan="4">

        </td>
        <td>
          &#160;
        </td>
      </tr>
      <tr>
        <td>

        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; border-bottom-color: black; padding-left: 0.0px" colspan="10" valign="bottom">
          <b>Three-months Ended</b>
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; border-bottom-color: black; padding-left: 0.0px" colspan="7" valign="bottom">
          <b>Nine-months Ended</b>
        </td>
      </tr>
      <tr>
        <td>

        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; border-bottom-color: black; padding-left: 0.0px" colspan="3" valign="bottom">
          <p style="margin-bottom: 0px; margin-top: 0px">
            <b>September 30,</b><br><b>2018</b>
          </p>
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; border-bottom-color: black; padding-left: 0.0px" colspan="3" valign="bottom">
          July 1, 2018
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; border-bottom-color: black; padding-left: 0.0px" colspan="3" valign="bottom">
          <p style="margin-bottom: 0px; margin-top: 0px">
            October 1,<br>2017
          </p>
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; border-bottom-color: black; padding-left: 0.0px" colspan="3" valign="bottom">
          <p style="margin-bottom: 0px; margin-top: 0px">
            <b>September 30,</b><br><b>2018</b>
          </p>
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; border-bottom-color: black; padding-left: 0.0px" colspan="3" valign="bottom">
          <p style="margin-bottom: 0px; margin-top: 0px">
            October 1,<br>2017
          </p>
        </td>
      </tr>
      <tr>
        <td style="border-bottom-style: solid; text-align: left; border-bottom-width: 1.0pt; border-bottom-color: black; padding-left: 0.0px" colspan="22" valign="bottom">
          <b>Adjustment for stock option expense and tax benefit for stock
          option exercises</b>
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 0.0px" valign="bottom">
          Operating income (GAAP)
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <b>$</b>
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <b>77,844</b>
        </td>
        <td>

        </td>
        <td>
          &#160;
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          63,455
        </td>
        <td>

        </td>
        <td>
          &#160;
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          110,849
        </td>
        <td>

        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <b>$</b>
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <b>175,895</b>
        </td>
        <td>

        </td>
        <td>
          &#160;
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          208,086
        </td>
        <td>

        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-bottom: 2.0px; padding-left: 10.0px" valign="bottom">
          Stock option expense
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>9,143</b>
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          9,002
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          8,026
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>31,339</b>
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          23,355
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-bottom: 4.0px; padding-left: 0.0px" valign="bottom">
          Operating income (Non-GAAP)
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>$</b>
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>86,987</b>
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          72,457
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          118,875
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>$</b>
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>207,234</b>
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          231,441
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 25.0px" valign="middle">
          <i>Percentage of revenue (Non-GAAP)</i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i><b>37</b></i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i><b>%</b></i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>34</i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>45</i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i><b>34</b></i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i><b>%</b></i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>40</i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
      </tr>
      <tr>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>

        </td>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>
          &#160;
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 0.0px" valign="bottom">
          Net income (GAAP)
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <b>$</b>
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <b>80,436</b>
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          56,196
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          102,493
        </td>
        <td>

        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <b>$</b>
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <b>173,849</b>
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          204,459
        </td>
        <td>

        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 10.0px" valign="bottom">
          Stock option expense
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>9,143</b>
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          9,002
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          8,026
        </td>
        <td>

        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>31,339</b>
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          23,355
        </td>
        <td>

        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 10.0px" valign="bottom">
          Tax effect on stock option expense
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>(1,654</b>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <b>)</b>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          (1,607
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          )
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          (2,639
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          )
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>(5,608</b>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <b>)</b>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          (7,661
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          )
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-bottom: 2.0px; padding-left: 10.0px" valign="bottom">
          Discrete tax benefit related to employee stock option exercises
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>(2,811</b>
        </td>
        <td style="border-bottom-style: solid; text-align: left; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>)</b>
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          (654
        </td>
        <td style="border-bottom-style: solid; text-align: left; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          )
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          (8,620
        </td>
        <td style="border-bottom-style: solid; text-align: left; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          )
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>(8,400</b>
        </td>
        <td style="border-bottom-style: solid; text-align: left; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>)</b>
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          (27,574
        </td>
        <td style="border-bottom-style: solid; text-align: left; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          )
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-bottom: 4.0px; padding-left: 0.0px" valign="bottom">
          Net income (Non-GAAP)
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>$</b>
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>85,114</b>
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          62,937
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          99,260
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>$</b>
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>191,180</b>
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          192,579
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 25.0px" valign="middle">
          <i>Percentage of revenue (Non-GAAP)</i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i><b>37</b></i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i><b>%</b></i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>30</i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>37</i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i><b>31</b></i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i><b>%</b></i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>33</i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
      </tr>
      <tr>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>

        </td>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>
          &#160;
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 0.0px" valign="bottom">
          Net income per diluted weighted-average common and common-equivalent
          share (GAAP) (1)
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <b>$</b>
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <b>0.45</b>
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          0.32
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          0.57
        </td>
        <td>

        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <b>$</b>
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <b>0.98</b>
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          1.14
        </td>
        <td>

        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-bottom: 2.0px; padding-left: 10.0px" valign="bottom">
          Share impact of non-GAAP adjustments identified above (1)
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>0.03</b>
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          0.04
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          (0.02
        </td>
        <td style="border-bottom-style: solid; text-align: left; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          )
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>0.09</b>
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          (0.06
        </td>
        <td style="border-bottom-style: solid; text-align: left; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          )
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-bottom: 4.0px; padding-left: 0.0px" valign="middle">
          Net income per diluted weighted-average common and common-equivalent
          share (Non-GAAP) (1)
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>$</b>
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>0.48</b>
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          0.36
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          0.55
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>$</b>
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>1.07</b>
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          1.08
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
      </tr>
      <tr>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>

        </td>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>
          &#160;
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-bottom: 4.0px; padding-left: 0.0px" valign="bottom">
          Diluted weighted-average common and common-equivalent shares
          outstanding (GAAP) (1)
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>177,245</b>
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          177,149
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          179,354
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>178,021</b>
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          179,124
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
      </tr>
      <tr>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black" colspan="2">
          &#160;
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black" colspan="2">
          &#160;
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black" colspan="2">
          &#160;
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black" colspan="2">
          &#160;
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black" colspan="2">
          &#160;
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
      </tr>
      <tr>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>

        </td>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>
          &#160;
        </td>
      </tr>
      <tr>
        <td style="border-bottom-style: solid; text-align: left; border-bottom-width: 1.0pt; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>Exclusion of tax adjustments</b>
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black" colspan="2">
          &#160;
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black" colspan="2">
          &#160;
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black" colspan="2">
          &#160;
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black" colspan="2">
          &#160;
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black" colspan="2">
          &#160;
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-bottom: 4.0px; padding-left: 0.0px" valign="bottom">
          Income before income tax expense (GAAP)
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>$</b>
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>81,273</b>
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          66,573
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          112,752
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>$</b>
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>185,825</b>
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          213,793
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
      </tr>
      <tr>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>

        </td>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>
          &#160;
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 0.0px" valign="bottom">
          Income tax expense (GAAP)
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <b>$</b>
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <b>837</b>
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          10,377
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          10,259
        </td>
        <td>

        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <b>$</b>
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <b>11,976</b>
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          9,334
        </td>
        <td>

        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 25.0px" valign="bottom">
          <i>Effective tax rate (GAAP)</i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i><b>1</b></i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i><b>%</b></i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>16</i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>9</i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i><b>6</b></i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i><b>%</b></i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>4</i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
      </tr>
      <tr>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>

        </td>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>
          &#160;
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 0.0px" valign="bottom">
          Tax adjustments:
        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>

        </td>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>

        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 10.0px" valign="bottom">
          Discrete tax benefit related to employee stock option exercises
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>(2,811</b>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <b>)</b>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          (654
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          )
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          (8,620
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          )
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>(8,400</b>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <b>)</b>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          (27,574
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          )
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 10.0px" valign="bottom">
          Discrete tax benefit related to Tax Act
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>(7,699</b>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <b>)</b>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          &#8212;
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          &#8212;
        </td>
        <td>

        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>(7,699</b>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <b>)</b>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          &#8212;
        </td>
        <td>

        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-bottom: 2.0px; padding-left: 10.0px" valign="bottom">
          Other discrete tax events
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>(1,657</b>
        </td>
        <td style="border-bottom-style: solid; text-align: left; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>)</b>
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          &#8212;
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          (1,765
        </td>
        <td style="border-bottom-style: solid; text-align: left; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          )
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>(1,657</b>
        </td>
        <td style="border-bottom-style: solid; text-align: left; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>)</b>
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          (1,908
        </td>
        <td style="border-bottom-style: solid; text-align: left; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          )
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-bottom: 4.0px; padding-left: 10.0px" valign="bottom">
          Income tax expense excluding tax adjustments (Non-GAAP)
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>$</b>
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>13,004</b>
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          11,031
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          20,644
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>$</b>
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>29,732</b>
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          38,816
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 25.0px" valign="bottom">
          <i>Effective tax rate (Non-GAAP)</i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i><b>16</b></i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i><b>%</b></i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>17</i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>18</i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i><b>16</b></i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i><b>%</b></i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>18</i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
      </tr>
      <tr>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>

        </td>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>
          &#160;
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-bottom: 4.0px; padding-left: 0.0px" valign="bottom">
          Net income excluding tax adjustments (Non-GAAP)
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>$</b>
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>68,269</b>
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          55,542
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          92,108
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>$</b>
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>156,093</b>
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          174,977
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 25.0px" valign="bottom">
          <i>Percentage of revenue (Non-GAAP)</i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i><b>29</b></i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i><b>%</b></i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>26</i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>35</i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i><b>25</b></i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i><b>%</b></i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>30</i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
      </tr>
      <tr>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>

        </td>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>
          &#160;
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 0.0px" valign="bottom">
          Net income per diluted weighted-average common and common-equivalent
          share (GAAP) (1)
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <b>$</b>
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <b>0.45</b>
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          0.32
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          0.57
        </td>
        <td>

        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <b>$</b>
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <b>0.98</b>
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          1.14
        </td>
        <td>

        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-bottom: 2.0px; padding-left: 10.0px" valign="bottom">
          Share impact of non-GAAP adjustments identified above (1)
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>(0.06</b>
        </td>
        <td style="border-bottom-style: solid; text-align: left; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>)</b>
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          (0.01
        </td>
        <td style="border-bottom-style: solid; text-align: left; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          )
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          (0.06
        </td>
        <td style="border-bottom-style: solid; text-align: left; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          )
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>(0.10</b>
        </td>
        <td style="border-bottom-style: solid; text-align: left; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>)</b>
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          (0.16
        </td>
        <td style="border-bottom-style: solid; text-align: left; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          )
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-bottom: 4.0px; padding-left: 0.0px" valign="bottom">
          Net income per diluted weighted-average common and common-equivalent
          share (Non-GAAP) (1)
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>$</b>
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>0.39</b>
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          0.31
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          0.51
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>$</b>
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>0.88</b>
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          0.98
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
      </tr>
      <tr>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>

        </td>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>
          &#160;
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-bottom: 4.0px; padding-left: 0.0px" valign="bottom">
          Diluted weighted-average common and common-equivalent shares
          outstanding (GAAP) (1)
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>177,245</b>
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          177,149
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          179,354
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>178,021</b>
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          179,124
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
      </tr>
    </table>
    </div>
    <p>
      (1) Prior periods share and per share amounts have been adjusted to
      reflect the 2-for-1 stock split of the Company's common stock that
      occurred in the fourth quarter of 2017.
    </p>
    <div style="margin-right: 0pt; margin-bottom: 10pt; margin-left: 0pt; width: 100%; text-indent: 0pt">
      <div>
        <div style="text-align: left">

        </div>
      </div>
      <div style="page-break-after: always">
        <div style="text-align: center">

        </div>
        <div style="text-align: center">
          <hr style="color: black; height: 1.5pt">

        </div>
      </div>
      <div>
        <div style="text-align: right">

        </div>
      </div>
    </div>
    <p>
      <u><b>Exhibit 3</b></u>
    </p>
<div style="text-align:left">
    <table style="font-family: Times New Roman; margin-bottom: 10.0px; width: 100%; font-size: 8pt" cellspacing="0">
      <tr>
        <td>

        </td>
        <td>
          &#160;
        </td>
        <td colspan="2">

        </td>
        <td>
          &#160;
        </td>
        <td colspan="2">

        </td>
      </tr>
      <tr>
        <td style="text-align: center; padding-left: 0.0px" colspan="7" valign="top">
          <p style="margin-bottom: 0px; margin-top: 0px">
            <b>COGNEX CORPORATION</b><br><b>Balance Sheets</b><br><b>(Unaudited)</b><br><b>Dollars
            in thousands</b>
          </p>
        </td>
      </tr>
      <tr>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>

        </td>
        <td colspan="2">
          &#160;
        </td>
      </tr>
      <tr>
        <td>

        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>September 30, 2018</b>
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          December 31, 2017
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 0.0px" valign="bottom">
          <b>Assets</b>
        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 0.0px" valign="bottom">
          Cash and investments
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <b>$</b>
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <b>809,316</b>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          827,984
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 0.0px" valign="bottom">
          Accounts receivable
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>135,441</b>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          119,388
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 0.0px" valign="bottom">
          Unbilled revenue
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>13,948</b>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          7,454
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 0.0px" valign="bottom">
          Inventories
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>94,035</b>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          67,923
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 0.0px" valign="bottom">
          Property, plant, and equipment
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>88,930</b>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          78,048
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 0.0px" valign="bottom">
          Goodwill and intangible assets
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>124,090</b>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          126,397
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 0.0px" valign="bottom">
          Other assets
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>58,936</b>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          60,559
        </td>
      </tr>
      <tr>
        <td>

        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black" colspan="2">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black" colspan="2">
          &#160;
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-bottom: 4.0px; padding-left: 0.0px" valign="bottom">
          Total assets
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>$</b>
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>1,324,696</b>
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          1,287,753
        </td>
      </tr>
      <tr>
        <td>

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>

        </td>
        <td colspan="2">
          &#160;
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 0.0px" valign="bottom">
          <b>Liabilities and Shareholders' Equity</b>
        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
        <td>

        </td>
        <td colspan="2">

        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 0.0px" valign="bottom">
          Accounts payable and accrued expenses
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <b>$</b>
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <b>88,927</b>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          91,712
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 0.0px" valign="bottom">
          Deferred revenue and customer deposits
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>13,252</b>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          9,420
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 0.0px" valign="bottom">
          Income taxes
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>67,599</b>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          85,044
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 0.0px" valign="bottom">
          Other liabilities
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>5,474</b>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          5,904
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 0.0px" valign="bottom">
          Shareholders' equity
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <b>1,149,444</b>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          1,095,673
        </td>
      </tr>
      <tr>
        <td>

        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black" colspan="2">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black" colspan="2">
          &#160;
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-bottom: 4.0px; padding-left: 0.0px" valign="bottom">
          Total liabilities and shareholders' equity
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>$</b>
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <b>1,324,696</b>
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          1,287,753
        </td>
      </tr>
      <tr>
        <td>

        </td>
        <td>

        </td>
        <td>

        </td>
        <td>

        </td>
        <td>

        </td>
        <td>

        </td>
        <td>
          &#160;
        </td>
      </tr>
    </table>
    </div>
    <div style="margin-right: 0pt; margin-bottom: 10pt; margin-left: 0pt; width: 100%; text-indent: 0pt">
      <div>
        <div style="text-align: left">

        </div>
      </div>
      <div style="page-break-after: always">
        <div style="text-align: center">

        </div>
        <div style="text-align: center">
          <hr style="color: black; height: 1.5pt">

        </div>
      </div>
      <div>
        <div style="text-align: right">

        </div>
      </div>
    </div>
    <p>
      <u><b>Exhibit 4</b></u>
    </p>
<div style="text-align:left">
    <table style="font-family: Times New Roman; margin-bottom: 10.0px; width: 100%; font-size: 8pt" cellspacing="0">
      <tr>
        <td>

        </td>
        <td>
          &#160;
        </td>
        <td colspan="15">

        </td>
      </tr>
      <tr>
        <td style="text-align: center; padding-left: 0.0px" colspan="17" valign="top">
          <p style="margin-bottom: 0px; margin-top: 0px">
            <b>COGNEX CORPORATION</b><br><b>Restated Statements of Operations
            under ASC 606 &quot;Revenue from Contracts with Customers&quot;</b><br><b>(Unaudited)</b><br><b>Dollars
            in thousands</b>
          </p>
        </td>
      </tr>
      <tr>
        <td>

        </td>
        <td>

        </td>
        <td colspan="15">
          &#160;
        </td>
      </tr>
      <tr>
        <td>

        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; border-bottom-color: black; padding-left: 0.0px" colspan="15" valign="bottom">
          Three-months Ended
        </td>
      </tr>
      <tr>
        <td>

        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; border-bottom-color: black; padding-left: 0.0px" colspan="3" valign="bottom">
          <p style="margin-bottom: 0px; margin-top: 0px">
            April 2,<br>2017
          </p>
        </td>
        <td>
          &#160;
        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; border-bottom-color: black; padding-left: 0.0px" colspan="3" valign="bottom">
          <p style="margin-bottom: 0px; margin-top: 0px">
            July 2,<br>2017
          </p>
        </td>
        <td>
          &#160;
        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; border-bottom-color: black; padding-left: 0.0px" colspan="3" valign="bottom">
          <p style="margin-bottom: 0px; margin-top: 0px">
            October 1,<br>2017
          </p>
        </td>
        <td>
          &#160;
        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; border-bottom-color: black; padding-left: 0.0px" colspan="3" valign="bottom">
          <p style="margin-bottom: 0px; margin-top: 0px">
            December 31,<br>2017
          </p>
        </td>
      </tr>
      <tr>
        <td>

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">
          &#160;
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 0.0px" valign="bottom">
          Revenue
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          139,039
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          178,080
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          266,042
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          182,922
        </td>
        <td>

        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-bottom: 2.0px; padding-left: 0.0px" valign="bottom">
          Cost of revenue
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          32,532
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          42,164
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          68,061
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          44,532
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 0.0px" valign="bottom">
          Gross margin
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          106,507
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          135,916
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          197,981
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          138,390
        </td>
        <td>

        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 25.0px" valign="bottom">
          <i>Percentage of revenue</i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>77</i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>76</i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>74</i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>76</i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 0.0px" valign="bottom">
          Research, development, and engineering expenses
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          22,770
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          23,377
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          26,078
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          26,980
        </td>
        <td>

        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 25.0px" valign="bottom">
          <i>Percentage of revenue</i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>16</i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>13</i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>10</i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>15</i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 0.0px" valign="bottom">
          Selling, general, and administrative expenses
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          46,521
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          52,518
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          61,054
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          60,635
        </td>
        <td>

        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-bottom: 2.0px; padding-left: 25.0px" valign="bottom">
          <i>Percentage of revenue</i>
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>33</i>
        </td>
        <td style="border-bottom-style: solid; text-align: left; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>29</i>
        </td>
        <td style="border-bottom-style: solid; text-align: left; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>23</i>
        </td>
        <td style="border-bottom-style: solid; text-align: left; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>33</i>
        </td>
        <td style="border-bottom-style: solid; text-align: left; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 0.0px" valign="bottom">
          Operating income
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          37,216
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          60,021
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          110,849
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          50,775
        </td>
        <td>

        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 25.0px" valign="bottom">
          <i>Percentage of revenue</i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>27</i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>34</i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>42</i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>28</i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 0.0px" valign="bottom">
          Foreign currency (loss)
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          (263
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          )
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          (184
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          )
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          (127
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          )
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          (1,027
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          )
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-bottom: 2.0px; padding-left: 0.0px" valign="bottom">
          Investment and other income
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          2,282
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          1,969
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          2,030
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          2,923
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 0.0px" valign="bottom">
          Income before income tax expense
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          39,235
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          61,806
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          112,752
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          52,671
        </td>
        <td>

        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-bottom: 2.0px; padding-left: 0.0px" valign="bottom">
          Income tax expense (benefit)
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          (6,236
        </td>
        <td style="border-bottom-style: solid; text-align: left; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          )
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          5,311
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          10,259
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          80,418
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-bottom: 4.0px; padding-left: 0.0px" valign="bottom">
          Net income (loss)
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          45,471
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          56,495
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          102,493
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          (27,747
        </td>
        <td style="border-bottom-style: double; text-align: left; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          )
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 25.0px" valign="bottom">
          <i>Percentage of revenue</i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>33</i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>32</i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>39</i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>(15</i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i>)%</i>
        </td>
      </tr>
      <tr>
        <td>

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">
          &#160;
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 0.0px" valign="bottom">
          Earnings per weighted-average common and common-equivalent share (1):
        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-bottom: 4.0px; padding-left: 25.0px" valign="bottom">
          Basic
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          0.26
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          0.33
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          0.59
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          (0.16
        </td>
        <td style="border-bottom-style: double; text-align: left; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          )
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-bottom: 4.0px; padding-left: 25.0px" valign="bottom">
          Diluted
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          0.25
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          0.32
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          0.57
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          (0.16
        </td>
        <td style="border-bottom-style: double; text-align: left; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          )
        </td>
      </tr>
      <tr>
        <td>

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">
          &#160;
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 0.0px" valign="bottom">
          Weighted-average common and common-equivalent shares outstanding (1):
        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-bottom: 4.0px; padding-left: 25.0px" valign="bottom">
          Basic
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          172,646
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          173,278
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          173,234
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          173,397
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-bottom: 4.0px; padding-left: 25.0px" valign="bottom">
          Diluted
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          178,354
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          179,228
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          179,354
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          173,397
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
      </tr>
    </table>
    </div>
    <p>
      (1) Prior periods share and per share amounts have been adjusted to
      reflect the 2-for-1 stock split of the Company's common stock that
      occurred in the fourth quarter of 2017.
    </p>
    <div style="margin-right: 0pt; margin-bottom: 10pt; margin-left: 0pt; width: 100%; text-indent: 0pt">
      <div>
        <div style="text-align: left">

        </div>
      </div>
      <div style="page-break-after: always">
        <div style="text-align: center">

        </div>
        <div style="text-align: center">
          <hr style="color: black; height: 1.5pt">

        </div>
      </div>
      <div>
        <div style="text-align: right">

        </div>
      </div>
    </div>
<div style="text-align:left">
    <table style="font-family: Times New Roman; margin-bottom: 10.0px; width: 100%; font-size: 8pt" cellspacing="0">
      <tr>
        <td colspan="17">
          &#160;
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 0.0px" colspan="17" valign="bottom">
          <p style="margin-bottom: 0px; margin-top: 0px">
            <b>Adjustments to certain financial data as a result of the
            implementation of ASC 606 &quot;Revenue from Contracts with Customers
            on Jan. 1 2018&quot;</b>
          </p>
        </td>
      </tr>
      <tr>
        <td>

        </td>
        <td>
          &#160;
        </td>
        <td colspan="15">

        </td>
      </tr>
      <tr>
        <td>

        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; border-bottom-color: black; padding-left: 0.0px" colspan="15" valign="bottom">
          Three-months Ended
        </td>
      </tr>
      <tr>
        <td>

        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; border-bottom-color: black; padding-left: 0.0px" colspan="3" valign="bottom">
          <p style="margin-bottom: 0px; margin-top: 0px">
            April 2,<br>2017
          </p>
        </td>
        <td>
          &#160;
        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; border-bottom-color: black; padding-left: 0.0px" colspan="3" valign="bottom">
          <p style="margin-bottom: 0px; margin-top: 0px">
            July 2,<br>2017
          </p>
        </td>
        <td>
          &#160;
        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; border-bottom-color: black; padding-left: 0.0px" colspan="3" valign="bottom">
          <p style="margin-bottom: 0px; margin-top: 0px">
            October 1,<br>2017
          </p>
        </td>
        <td>
          &#160;
        </td>
        <td style="border-bottom-style: solid; text-align: center; border-bottom-width: 1.0pt; border-bottom-color: black; padding-left: 0.0px" colspan="3" valign="bottom">
          <p style="margin-bottom: 0px; margin-top: 0px">
            December 31,<br>2017
          </p>
        </td>
      </tr>
      <tr>
        <td>

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">
          &#160;
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 0.0px" valign="bottom">
          Revenue as reported
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          134,942
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          172,904
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          259,739
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          180,365
        </td>
        <td>

        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-bottom: 2.0px; padding-left: 15.0px" valign="bottom">
          Adjustments to revenue
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          4,097
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          5,176
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          6,303
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          2,557
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-bottom: 4.0px; padding-left: 0.0px" valign="bottom">
          Revenue as restated
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          139,039
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          178,080
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          266,042
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          182,922
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
      </tr>
      <tr>
        <td>

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">
          &#160;
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 0.0px" valign="bottom">
          Cost of revenue as reported
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          28,225
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          37,471
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          62,360
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          40,642
        </td>
        <td>

        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-bottom: 2.0px; padding-left: 15.0px" valign="bottom">
          Adjustments to cost of revenue
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          4,307
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          4,693
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          5,701
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          3,890
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-bottom: 4.0px; padding-left: 0.0px" valign="bottom">
          Cost of revenue as restated
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          32,532
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          42,164
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          68,061
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          44,532
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
      </tr>
      <tr>
        <td>

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">
          &#160;
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 0.0px" valign="bottom">
          Gross margin as reported
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          106,717
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          135,433
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          197,379
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          139,723
        </td>
        <td>

        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-bottom: 2.0px; padding-left: 15.0px" valign="bottom">
          Adjustments to gross margin
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          (210
        </td>
        <td style="border-bottom-style: solid; text-align: left; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          )
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          483
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          602
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          (1,333
        </td>
        <td style="border-bottom-style: solid; text-align: left; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          )
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-bottom: 4.0px; padding-left: 0.0px" valign="bottom">
          Gross margin as restated
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          106,507
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          135,916
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          197,981
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          138,390
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
      </tr>
      <tr>
        <td>

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">
          &#160;
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 0.0px" valign="bottom">
          Gross margin percentage as reported
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>79</i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>78</i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>76</i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          <i>77</i>
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          <i>%</i>
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-bottom: 2.0px; padding-left: 15.0px" valign="bottom">
          Adjustments to gross margin percentage
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          (2
        </td>
        <td style="border-bottom-style: solid; text-align: left; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          )%
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          (2
        </td>
        <td style="border-bottom-style: solid; text-align: left; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          )%
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          (2
        </td>
        <td style="border-bottom-style: solid; text-align: left; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          )%
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          (1
        </td>
        <td style="border-bottom-style: solid; text-align: left; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          )%
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-bottom: 4.0px; padding-left: 0.0px" valign="bottom">
          Gross margin percentage as restated
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          77
        </td>
        <td style="border-bottom-style: double; text-align: left; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          %
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          76
        </td>
        <td style="border-bottom-style: double; text-align: left; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          %
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          74
        </td>
        <td style="border-bottom-style: double; text-align: left; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          %
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          76
        </td>
        <td style="border-bottom-style: double; text-align: left; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          %
        </td>
      </tr>
      <tr>
        <td>

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">
          &#160;
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 0.0px" valign="bottom">
          Operating income as reported
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          37,426
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          59,538
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          110,247
        </td>
        <td>

        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          52,108
        </td>
        <td>

        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-bottom: 2.0px; padding-left: 15.0px" valign="bottom">
          Adjustments to operating income
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          (210
        </td>
        <td style="border-bottom-style: solid; text-align: left; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          )
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          483
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          602
        </td>
        <td style="border-bottom-style: solid; border-bottom-width: 1.0pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          (1,333
        </td>
        <td style="border-bottom-style: solid; text-align: left; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          )
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-bottom: 4.0px; padding-left: 0.0px" valign="bottom">
          Operating income as restated
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          37,216
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          60,021
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          110,849
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          $
        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          50,775
        </td>
        <td style="border-bottom-style: double; border-bottom-width: 2.25pt; border-bottom-color: black">
          &#160;
        </td>
      </tr>
      <tr>
        <td>

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">

        </td>
        <td>

        </td>
        <td colspan="3">
          &#160;
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-left: 0.0px" valign="bottom">
          Operating margin as reported
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          28
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          %
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          34
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          %
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          42
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          %
        </td>
        <td>

        </td>
        <td style="text-align: right; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" colspan="2" valign="bottom">
          29
        </td>
        <td style="text-align: left; padding-right: 0.0px; white-space: nowrap; padding-left: 0.0px" valign="bottom">
          %
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-bottom: 2.0px; padding-left: 15.0px" valign="bottom">
          Adjustments to operating margin
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          (1
        </td>
        <td style="border-bottom-style: solid; text-align: left; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          )%
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          &#8212;
        </td>
        <td style="border-bottom-style: solid; text-align: left; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          %
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          &#8212;
        </td>
        <td style="border-bottom-style: solid; text-align: left; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          %
        </td>
        <td>

        </td>
        <td style="border-bottom-style: solid; text-align: right; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          (1
        </td>
        <td style="border-bottom-style: solid; text-align: left; border-bottom-width: 1.0pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          )%
        </td>
      </tr>
      <tr>
        <td style="text-align: left; padding-bottom: 4.0px; padding-left: 0.0px" valign="bottom">
          Operating margin as restated
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          27
        </td>
        <td style="border-bottom-style: double; text-align: left; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          %
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          34
        </td>
        <td style="border-bottom-style: double; text-align: left; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          %
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          42
        </td>
        <td style="border-bottom-style: double; text-align: left; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          %
        </td>
        <td>

        </td>
        <td style="border-bottom-style: double; text-align: right; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" colspan="2" valign="bottom">
          28
        </td>
        <td style="border-bottom-style: double; text-align: left; border-bottom-width: 2.25pt; padding-right: 0.0px; white-space: nowrap; border-bottom-color: black; padding-left: 0.0px" valign="bottom">
          %
        </td>
      </tr>
    </table>
    </div>
    <p>

    </p>
    <p>
      CONTACT:<br>Cognex Corporation<br>Susan Conway, 508-650-3353<br>Senior
      Director of Investor Relations<br><u>susan.conway@cognex.com</u>
    </p>
  </body>
</html>
</TEXT>
</DOCUMENT>
</SEC-DOCUMENT>
