<?xml version="1.0" encoding="us-ascii"?>
<!--Generated by EDGARfilings PROfile 6.2.0.0 Broadridge-->
<xbrl xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:link="http://www.xbrl.org/2003/linkbase" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xbrldi="http://xbrl.org/2006/xbrldi" xmlns:iso4217="http://www.xbrl.org/2003/iso4217" xmlns:us-gaap="http://fasb.org/us-gaap/2019-01-31" xmlns:dei="http://xbrl.sec.gov/dei/2019-01-31" xmlns:utr="http://www.xbrl.org/2009/utr" xmlns:num="http://www.xbrl.org/dtr/type/numeric" xmlns:nonnum="http://www.xbrl.org/dtr/type/non-numeric" xmlns:country="http://xbrl.sec.gov/country/2017-01-31" xmlns:currency="http://xbrl.sec.gov/currency/2019-01-31" xmlns:naics="http://xbrl.sec.gov/naics/2017-01-31" xmlns:sic="http://xbrl.sec.gov/sic/2011-01-31" xmlns:stpr="http://xbrl.sec.gov/stpr/2018-01-31" xmlns:exch="http://xbrl.sec.gov/exch/2019-01-31" xmlns:srt="http://fasb.org/srt/2019-01-31" xmlns:tact="http://transact-tech.com/20191231" xmlns="http://www.xbrl.org/2003/instance">
  <link:schemaRef xlink:type="simple" xlink:href="tact-20191231.xsd" />
  <xbrli:context id="c20190101to20191231">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190628">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-06-28</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20200228">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-02-28</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20181231">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20191231">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20181231_StatementClassOfStockAxis_SeriesAPreferredStockMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20191231_StatementClassOfStockAxis_SeriesAPreferredStockMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementClassOfStockAxis">us-gaap:SeriesAPreferredStockMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20170101to20171231">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180101to20181231">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20161231_StatementEquityComponentsAxis_RetainedEarningsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2016-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20161231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2016-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20161231_StatementEquityComponentsAxis_CommonStockMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2016-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20161231_StatementEquityComponentsAxis_TreasuryStockMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2016-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20161231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2016-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20161231">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2016-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180101to20181231_StatementEquityComponentsAxis_RetainedEarningsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180101to20181231_StatementEquityComponentsAxis_CommonStockMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180101to20181231_StatementEquityComponentsAxis_TreasuryStockMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180101to20181231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180101to20181231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20170101to20171231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20170101to20171231_StatementEquityComponentsAxis_RetainedEarningsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20170101to20171231_StatementEquityComponentsAxis_CommonStockMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20170101to20171231_StatementEquityComponentsAxis_TreasuryStockMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20170101to20171231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_StatementEquityComponentsAxis_CommonStockMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_StatementEquityComponentsAxis_TreasuryStockMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_StatementEquityComponentsAxis_RetainedEarningsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20171231_StatementEquityComponentsAxis_RetainedEarningsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2017-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20191231_StatementEquityComponentsAxis_TreasuryStockMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20191231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20181231_StatementEquityComponentsAxis_TreasuryStockMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20191231_StatementEquityComponentsAxis_CommonStockMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20181231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20181231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20191231_StatementEquityComponentsAxis_RetainedEarningsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20171231">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2017-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20191231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20171231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AdditionalPaidInCapitalMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2017-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20171231_StatementEquityComponentsAxis_CommonStockMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2017-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20181231_StatementEquityComponentsAxis_CommonStockMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:CommonStockMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20171231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:AccumulatedOtherComprehensiveIncomeMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2017-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20171231_StatementEquityComponentsAxis_TreasuryStockMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:TreasuryStockMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2017-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20181231_StatementEquityComponentsAxis_RetainedEarningsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:StatementEquityComponentsAxis">us-gaap:RetainedEarningsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndOfficeEquipmentMember_RangeAxis_MinimumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:FurnitureAndOfficeEquipmentMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_PropertyPlantAndEquipmentByTypeAxis_ToolsDiesAndMoldsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ToolsDiesAndMoldsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_PropertyPlantAndEquipmentByTypeAxis_ComputerSoftwareAndEquipmentMember_RangeAxis_MinimumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:ComputerSoftwareAndEquipmentMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_PropertyPlantAndEquipmentByTypeAxis_ComputerSoftwareAndEquipmentMember_RangeAxis_MaximumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:ComputerSoftwareAndEquipmentMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndOfficeEquipmentMember_RangeAxis_MaximumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:FurnitureAndOfficeEquipmentMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20181231_AdjustmentsForNewAccountingPronouncementsAxis_AccountingStandardsUpdate201602Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AdjustmentsForNewAccountingPronouncementsAxis">us-gaap:AccountingStandardsUpdate201602Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_RangeAxis_MinimumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_RangeAxis_MaximumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20170101to20171231_ProductOrServiceAxis_LotteryMember_StatementGeographicalAxis_US">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:LotteryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20170101to20171231_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_InternationalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:CasinoAndGamingMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_ProductOrServiceAxis_PrintrexMember_StatementGeographicalAxis_US">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:PrintrexMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20170101to20171231_ProductOrServiceAxis_TransActServicesGroupMember_StatementGeographicalAxis_US">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:TransActServicesGroupMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20170101to20171231_ProductOrServiceAxis_TransActServicesGroupMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:TransActServicesGroupMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_ProductOrServiceAxis_TransActServicesGroupMember_StatementGeographicalAxis_InternationalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:TransActServicesGroupMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180101to20181231_ProductOrServiceAxis_TransActServicesGroupMember_StatementGeographicalAxis_US">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:TransActServicesGroupMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20170101to20171231_StatementGeographicalAxis_US">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20170101to20171231_ProductOrServiceAxis_PrintrexMember_StatementGeographicalAxis_InternationalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:PrintrexMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180101to20181231_ProductOrServiceAxis_LotteryMember_StatementGeographicalAxis_InternationalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:LotteryMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_ProductOrServiceAxis_TransActServicesGroupMember_StatementGeographicalAxis_US">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:TransActServicesGroupMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_StatementGeographicalAxis_InternationalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180101to20181231_ProductOrServiceAxis_TransActServicesGroupMember_StatementGeographicalAxis_InternationalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:TransActServicesGroupMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_ProductOrServiceAxis_POSAutomationAndBankingMember_StatementGeographicalAxis_US">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:POSAutomationAndBankingMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20170101to20171231_ProductOrServiceAxis_TransActServicesGroupMember_StatementGeographicalAxis_InternationalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:TransActServicesGroupMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_StatementGeographicalAxis_US">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20170101to20171231_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_US">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:CasinoAndGamingMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180101to20181231_ProductOrServiceAxis_POSAutomationAndBankingMember_StatementGeographicalAxis_InternationalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:POSAutomationAndBankingMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_US">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:FoodServiceTechnologyMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20170101to20171231_ProductOrServiceAxis_CasinoAndGamingMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:CasinoAndGamingMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20170101to20171231_ProductOrServiceAxis_PrintrexMember_StatementGeographicalAxis_US">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:PrintrexMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_ProductOrServiceAxis_LotteryMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:LotteryMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20170101to20171231_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_InternationalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:FoodServiceTechnologyMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_ProductOrServiceAxis_FoodServiceTechnologyMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:FoodServiceTechnologyMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20170101to20171231_StatementGeographicalAxis_InternationalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180101to20181231_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_US">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:FoodServiceTechnologyMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180101to20181231_StatementGeographicalAxis_US">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_InternationalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:CasinoAndGamingMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180101to20181231_ProductOrServiceAxis_POSAutomationAndBankingMember_StatementGeographicalAxis_US">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:POSAutomationAndBankingMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180101to20181231_ProductOrServiceAxis_PrintrexMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:PrintrexMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_InternationalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:FoodServiceTechnologyMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180101to20181231_ProductOrServiceAxis_LotteryMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:LotteryMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_ProductOrServiceAxis_LotteryMember_StatementGeographicalAxis_US">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:LotteryMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180101to20181231_ProductOrServiceAxis_TransActServicesGroupMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:TransActServicesGroupMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180101to20181231_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_US">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:CasinoAndGamingMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20170101to20171231_ProductOrServiceAxis_FoodServiceTechnologyMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:FoodServiceTechnologyMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_ProductOrServiceAxis_CasinoAndGamingMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:CasinoAndGamingMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20170101to20171231_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_US">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:FoodServiceTechnologyMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20170101to20171231_ProductOrServiceAxis_POSAutomationAndBankingMember_StatementGeographicalAxis_US">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:POSAutomationAndBankingMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180101to20181231_ProductOrServiceAxis_POSAutomationAndBankingMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:POSAutomationAndBankingMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180101to20181231_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_InternationalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:FoodServiceTechnologyMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20170101to20171231_ProductOrServiceAxis_LotteryMember_StatementGeographicalAxis_InternationalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:LotteryMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_ProductOrServiceAxis_LotteryMember_StatementGeographicalAxis_InternationalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:LotteryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180101to20181231_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_InternationalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:CasinoAndGamingMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_ProductOrServiceAxis_POSAutomationAndBankingMember_StatementGeographicalAxis_InternationalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:POSAutomationAndBankingMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20170101to20171231_ProductOrServiceAxis_PrintrexMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:PrintrexMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_ProductOrServiceAxis_PrintrexMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:PrintrexMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_ProductOrServiceAxis_POSAutomationAndBankingMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:POSAutomationAndBankingMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180101to20181231_ProductOrServiceAxis_PrintrexMember_StatementGeographicalAxis_InternationalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:PrintrexMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180101to20181231_ProductOrServiceAxis_CasinoAndGamingMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:CasinoAndGamingMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20170101to20171231_ProductOrServiceAxis_POSAutomationAndBankingMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:POSAutomationAndBankingMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20170101to20171231_ProductOrServiceAxis_LotteryMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:LotteryMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180101to20181231_ProductOrServiceAxis_LotteryMember_StatementGeographicalAxis_US">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:LotteryMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180101to20181231_ProductOrServiceAxis_PrintrexMember_StatementGeographicalAxis_US">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:PrintrexMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180101to20181231_ProductOrServiceAxis_FoodServiceTechnologyMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:FoodServiceTechnologyMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_US">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:CasinoAndGamingMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_ProductOrServiceAxis_PrintrexMember_StatementGeographicalAxis_InternationalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:PrintrexMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180101to20181231_StatementGeographicalAxis_InternationalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_ProductOrServiceAxis_TransActServicesGroupMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:TransActServicesGroupMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20170101to20171231_ProductOrServiceAxis_POSAutomationAndBankingMember_StatementGeographicalAxis_InternationalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ProductOrServiceAxis">tact:POSAutomationAndBankingMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20191231_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20220101Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
          <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2022-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
        </xbrldi:typedMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20191231_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20200101Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
          <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2020-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
        </xbrldi:typedMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20191231_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20210101Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:typedMember dimension="us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis">
          <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>2021-01-01</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis.domain>
        </xbrldi:typedMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180101to20181231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_MajorCustomersAxis_InternationalGameTechnologyPLCMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tact:InternationalGameTechnologyPLCMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_MajorCustomersAxis_InternationalGameTechnologyPLCMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tact:InternationalGameTechnologyPLCMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_InternationalGameTechnologyPLCMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tact:InternationalGameTechnologyPLCMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180101to20181231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_InternationalGameTechnologyPLCMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tact:InternationalGameTechnologyPLCMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_BallyTechnologiesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tact:BallyTechnologiesMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20170101to20171231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_MajorCustomersAxis_InternationalGameTechnologyPLCMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tact:InternationalGameTechnologyPLCMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180101to20181231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_BallyTechnologiesMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:AccountsReceivableMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:MajorCustomersAxis">tact:BallyTechnologiesMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:CustomerConcentrationRiskMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20181231_PropertyPlantAndEquipmentByTypeAxis_ComputerSoftwareAndEquipmentMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:ComputerSoftwareAndEquipmentMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20191231_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20181231_PropertyPlantAndEquipmentByTypeAxis_LeaseholdImprovementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20191231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndOfficeEquipmentMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:FurnitureAndOfficeEquipmentMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20191231_PropertyPlantAndEquipmentByTypeAxis_ConstructionInProgressMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20191231_PropertyPlantAndEquipmentByTypeAxis_LeaseholdImprovementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:LeaseholdImprovementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20181231_PropertyPlantAndEquipmentByTypeAxis_ConstructionInProgressMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:ConstructionInProgressMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20181231_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">us-gaap:MachineryAndEquipmentMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20191231_PropertyPlantAndEquipmentByTypeAxis_ComputerSoftwareAndEquipmentMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:ComputerSoftwareAndEquipmentMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20181231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndOfficeEquipmentMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:FurnitureAndOfficeEquipmentMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20191231_PropertyPlantAndEquipmentByTypeAxis_FixedAssetsExcludingConstructionInProcessMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:FixedAssetsExcludingConstructionInProcessMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20181231_PropertyPlantAndEquipmentByTypeAxis_FixedAssetsExcludingConstructionInProcessMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PropertyPlantAndEquipmentByTypeAxis">tact:FixedAssetsExcludingConstructionInProcessMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20181231_FiniteLivedIntangibleAssetsByMajorClassAxis_PatentsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20181231_FiniteLivedIntangibleAssetsByMajorClassAxis_OtherIntangibleAssetsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OtherIntangibleAssetsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20191231_FiniteLivedIntangibleAssetsByMajorClassAxis_NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20181231_FiniteLivedIntangibleAssetsByMajorClassAxis_TrademarksMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20181231_FiniteLivedIntangibleAssetsByMajorClassAxis_NoncompeteAgreementsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:NoncompeteAgreementsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20191231_FiniteLivedIntangibleAssetsByMajorClassAxis_PatentsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:PatentsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20181231_FiniteLivedIntangibleAssetsByMajorClassAxis_CustomerRelationshipsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20191231_FiniteLivedIntangibleAssetsByMajorClassAxis_TrademarksMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TrademarksMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20191231_FiniteLivedIntangibleAssetsByMajorClassAxis_OtherIntangibleAssetsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:OtherIntangibleAssetsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20191231_FiniteLivedIntangibleAssetsByMajorClassAxis_CustomerRelationshipsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:CustomerRelationshipsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20191231_FiniteLivedIntangibleAssetsByMajorClassAxis_TechnologyBasedIntangibleAssetsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20181231_FiniteLivedIntangibleAssetsByMajorClassAxis_TechnologyBasedIntangibleAssetsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:FiniteLivedIntangibleAssetsByMajorClassAxis">us-gaap:TechnologyBasedIntangibleAssetsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20191231_CreditFacilityAxis_RevolvingCreditFacilityMember_LineOfCreditFacilityAxis_TDBankNAMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">tact:TDBankNAMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_CreditFacilityAxis_RevolvingCreditFacilityMember_LineOfCreditFacilityAxis_TDBankNAMember_VariableRateAxis_PrimeRateMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">tact:TDBankNAMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_CreditFacilityAxis_RevolvingCreditFacilityMember_LineOfCreditFacilityAxis_TDBankNAMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">tact:TDBankNAMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20171121_CreditFacilityAxis_RevolvingCreditFacilityMember_LineOfCreditFacilityAxis_TDBankNAMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">tact:TDBankNAMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2017-11-21</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20171120_CreditFacilityAxis_RevolvingCreditFacilityMember_LineOfCreditFacilityAxis_TDBankNAMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">tact:TDBankNAMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2017-11-20</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_AwardTypeAxis_EmployeeStockOptionMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_AwardTypeAxis_EmployeeStockOptionMember_RangeAxis_MinimumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MinimumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_AwardTypeAxis_EmployeeStockOptionMember_RangeAxis_MaximumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20191231_PlanNameAxis_EquityIncentivePlan2014Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2014Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20191231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2014Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2014Member</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20171231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2014Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2014Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2017-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20171231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2014Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2014Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2017-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20181231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2014Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2014Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20181231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2014Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2014Member</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20191231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2014Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2014Member</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180101to20181231_PlanNameAxis_EquityIncentivePlan2014Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2014Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20170101to20171231_PlanNameAxis_EquityIncentivePlan2014Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2014Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_PlanNameAxis_EquityIncentivePlan2014Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2014Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2014Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2014Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180101to20181231_IncomeStatementLocationAxis_GeneralAndAdministrativeExpenseMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20170101to20171231_IncomeStatementLocationAxis_GeneralAndAdministrativeExpenseMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_IncomeStatementLocationAxis_GeneralAndAdministrativeExpenseMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeStatementLocationAxis">us-gaap:GeneralAndAdministrativeExpenseMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20181231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2005AndEquityIncentivePlan2014Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2005AndEquityIncentivePlan2014Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20191231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2005AndEquityIncentivePlan2014Member</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:EmployeeStockOptionMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20191231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2005AndEquityIncentivePlan2014Member</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20181231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2005AndEquityIncentivePlan2014Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AwardTypeAxis">us-gaap:RestrictedStockUnitsRSUMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:PlanNameAxis">tact:EquityIncentivePlan2005AndEquityIncentivePlan2014Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20170101to20171231_RangeAxis_MaximumMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:RangeAxis">srt:MaximumMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20191231_IncomeTaxAuthorityAxis_StateAndLocalJurisdictionMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:StateAndLocalJurisdictionMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20191231_IncomeTaxAuthorityAxis_DomesticCountryMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:IncomeTaxAuthorityAxis">us-gaap:DomesticCountryMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20191231_TaxCreditCarryforwardAxis_ResearchMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:TaxCreditCarryforwardAxis">us-gaap:ResearchMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20181231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOperatingLossCarryforwardsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20161231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOperatingLossCarryforwardsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2016-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20171231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOperatingLossCarryforwardsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2017-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOperatingLossCarryforwardsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180101to20181231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOperatingLossCarryforwardsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20170101to20171231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOperatingLossCarryforwardsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20191231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:ValuationAllowancesAndReservesTypeAxis">us-gaap:ValuationAllowanceOperatingLossCarryforwardsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180101to20181231_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_StockCompensationPlanMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:StockCompensationPlanMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_StockCompensationPlanMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:StockCompensationPlanMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20170101to20171231_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_StockCompensationPlanMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis">us-gaap:StockCompensationPlanMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180301">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-03-01</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20050101to20191231">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2005-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180302to20181231_ShareRepurchaseProgramAxis_StockRepurchaseProgram2018Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">tact:StockRepurchaseProgram2018Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-03-02</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20160225to20171231_ShareRepurchaseProgramAxis_StockRepurchaseProgram2016Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">tact:StockRepurchaseProgram2016Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2016-02-25</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_ShareRepurchaseProgramAxis_StockRepurchaseProgram2018Member">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:ShareRepurchaseProgramAxis">tact:StockRepurchaseProgram2018Member</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20170101to20171231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_InternationalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180101to20181231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_US">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_InternationalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180101to20181231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_InternationalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_US">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20170101to20171231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_US">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20171231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_US">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2017-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20181231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_InternationalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20171231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_InternationalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2017-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20191231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_InternationalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20191231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_US">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2019-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20181231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_US">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:US</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:ConsolidationItemsAxis">srt:ReportableGeographicalComponentsMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2018-12-31</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_PacificRimMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:PacificRimMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20170101to20171231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_InternationalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180101to20181231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_InternationalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20170101to20171231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_PacificRimMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:PacificRimMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_InternationalMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:InternationalMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20170101to20171231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_EuropeMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180101to20181231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_CA">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_EuropeMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20191231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_CA">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180101to20181231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_EuropeMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">srt:EuropeMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180101to20181231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_PacificRimMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">tact:PacificRimMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20170101to20171231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_CA">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByTypeAxis">us-gaap:GeographicConcentrationRiskMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="srt:StatementGeographicalAxis">country:CA</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:ConcentrationRiskByBenchmarkAxis">us-gaap:SalesRevenueNetMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2017-01-01</xbrli:startDate>
      <xbrli:endDate>2017-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20191001to20191231">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-10-01</xbrli:startDate>
      <xbrli:endDate>2019-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190701to20190930">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-07-01</xbrli:startDate>
      <xbrli:endDate>2019-09-30</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180101to20180331">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-01-01</xbrli:startDate>
      <xbrli:endDate>2018-03-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190101to20190331">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-01-01</xbrli:startDate>
      <xbrli:endDate>2019-03-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180701to20180930">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-07-01</xbrli:startDate>
      <xbrli:endDate>2018-09-30</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20181001to20181231">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-10-01</xbrli:startDate>
      <xbrli:endDate>2018-12-31</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20190401to20190630">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2019-04-01</xbrli:startDate>
      <xbrli:endDate>2019-06-30</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20180401to20180630">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2018-04-01</xbrli:startDate>
      <xbrli:endDate>2018-06-30</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20200228to20200228_SubsequentEventTypeAxis_SubsequentEventMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-02-28</xbrli:startDate>
      <xbrli:endDate>2020-02-28</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20200313_CreditFacilityAxis_RevolvingCreditFacilityMember_LineOfCreditFacilityAxis_SienaLendingGroupLLCMember_SubsequentEventTypeAxis_SubsequentEventMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">tact:SienaLendingGroupLLCMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-03-13</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20200313to20200313_CreditFacilityAxis_RevolvingCreditFacilityMember_LineOfCreditFacilityAxis_SienaLendingGroupLLCMember_SubsequentEventTypeAxis_SubsequentEventMember_VariableRateAxis_FederalFundsEffectiveSwapRateMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">tact:SienaLendingGroupLLCMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:FederalFundsEffectiveSwapRateMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-03-13</xbrli:startDate>
      <xbrli:endDate>2020-03-13</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20200313to20200313_CreditFacilityAxis_RevolvingCreditFacilityMember_LineOfCreditFacilityAxis_SienaLendingGroupLLCMember_SubsequentEventTypeAxis_SubsequentEventMember_VariableRateAxis_PrimeRateMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">tact:SienaLendingGroupLLCMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:VariableRateAxis">us-gaap:PrimeRateMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-03-13</xbrli:startDate>
      <xbrli:endDate>2020-03-13</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20200313to20200313_CreditFacilityAxis_RevolvingCreditFacilityMember_LineOfCreditFacilityAxis_SienaLendingGroupLLCMember_SubsequentEventTypeAxis_SubsequentEventMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:CreditFacilityAxis">us-gaap:RevolvingCreditFacilityMember</xbrldi:explicitMember>
        <xbrldi:explicitMember dimension="us-gaap:LineOfCreditFacilityAxis">tact:SienaLendingGroupLLCMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-03-13</xbrli:startDate>
      <xbrli:endDate>2020-03-13</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20200313to20200313_SubsequentEventTypeAxis_SubsequentEventMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:startDate>2020-03-13</xbrli:startDate>
      <xbrli:endDate>2020-03-13</xbrli:endDate>
    </xbrli:period>
  </xbrli:context>
  <xbrli:context id="c20200313_SubsequentEventTypeAxis_SubsequentEventMember">
    <xbrli:entity>
      <xbrli:identifier scheme="http://www.sec.gov/CIK">0001017303</xbrli:identifier>
      <xbrli:segment>
        <xbrldi:explicitMember dimension="us-gaap:SubsequentEventTypeAxis">us-gaap:SubsequentEventMember</xbrldi:explicitMember>
      </xbrli:segment>
    </xbrli:entity>
    <xbrli:period>
      <xbrli:instant>2020-03-13</xbrli:instant>
    </xbrli:period>
  </xbrli:context>
  <xbrli:unit id="U001">
    <xbrli:measure>iso4217:USD</xbrli:measure>
  </xbrli:unit>
  <xbrli:unit id="U002">
    <xbrli:measure>xbrli:shares</xbrli:measure>
  </xbrli:unit>
  <xbrli:unit id="U003">
    <xbrli:divide>
      <xbrli:unitNumerator>
        <xbrli:measure>iso4217:USD</xbrli:measure>
      </xbrli:unitNumerator>
      <xbrli:unitDenominator>
        <xbrli:measure>xbrli:shares</xbrli:measure>
      </xbrli:unitDenominator>
    </xbrli:divide>
  </xbrli:unit>
  <xbrli:unit id="U004">
    <xbrli:measure>tact:Segment</xbrli:measure>
  </xbrli:unit>
  <xbrli:unit id="U005">
    <xbrli:measure>tact:Solution</xbrli:measure>
  </xbrli:unit>
  <xbrli:unit id="U006">
    <xbrli:measure>xbrli:pure</xbrli:measure>
  </xbrli:unit>
  <xbrli:unit id="U007">
    <xbrli:measure>tact:Plan</xbrli:measure>
  </xbrli:unit>
  <!--Amendment Flag-->
  <dei:AmendmentFlag id="Fact_0cb4d7e9a21f4870be79be6f6800b18e" contextRef="c20190101to20191231">false</dei:AmendmentFlag>
  <!--Current Fiscal Year End Date-->
  <dei:CurrentFiscalYearEndDate id="Fact_8e0270237a6644349fb9b1c50474f947" contextRef="c20190101to20191231">--12-31</dei:CurrentFiscalYearEndDate>
  <!--Document Period End Date-->
  <dei:DocumentPeriodEndDate id="Fact_87a39ab2127b4fc1bec6a32d00b1d5b2" contextRef="c20190101to20191231">2019-12-31</dei:DocumentPeriodEndDate>
  <!--Entity Address, State or Province-->
  <dei:EntityAddressStateOrProvince id="Fact_f70a1b742df940dc99054181f9ce739d" contextRef="c20190101to20191231">CT</dei:EntityAddressStateOrProvince>
  <!--Entity Well-known Seasoned Issuer-->
  <dei:EntityWellKnownSeasonedIssuer id="Fact_8eb3eaef462d475fbf16b64af6ba48af" contextRef="c20190101to20191231">No</dei:EntityWellKnownSeasonedIssuer>
  <!--Entity Voluntary Filers-->
  <dei:EntityVoluntaryFilers id="Fact_b862c9bd9faf4a0e90700333e363eb11" contextRef="c20190101to20191231">No</dei:EntityVoluntaryFilers>
  <!--Entity Current Reporting Status-->
  <dei:EntityCurrentReportingStatus id="Fact_d71ac72f683d41fd819b100e9b48a090" contextRef="c20190101to20191231">Yes</dei:EntityCurrentReportingStatus>
  <!--Entity Filer Category-->
  <dei:EntityFilerCategory id="Fact_6e4c29f8e8ed4fe083122dc45524e3cd" contextRef="c20190101to20191231">Accelerated Filer</dei:EntityFilerCategory>
  <!--Entity Public Float-->
  <dei:EntityPublicFloat id="Fact_10a41c63e3cd42c6ba88a85b91c19553" contextRef="c20190628" unitRef="U001" decimals="0">81900000</dei:EntityPublicFloat>
  <!--Entity Registrant Name-->
  <dei:EntityRegistrantName id="Fact_a6ed04a5c2e940fc860e24602377a271" contextRef="c20190101to20191231">TRANSACT TECHNOLOGIES INC</dei:EntityRegistrantName>
  <!--Entity Central Index Key-->
  <dei:EntityCentralIndexKey id="Fact_20e0a6966529495b952dfc294438b7bf" contextRef="c20190101to20191231">0001017303</dei:EntityCentralIndexKey>
  <!--Entity Common Stock, Shares Outstanding-->
  <dei:EntityCommonStockSharesOutstanding id="Fact_530cefb3fcb24a3eaddd2634d76172a1" contextRef="c20200228" unitRef="U002" decimals="INF">7534133</dei:EntityCommonStockSharesOutstanding>
  <!--Document Fiscal Year Focus-->
  <dei:DocumentFiscalYearFocus id="Fact_f1b324ad453845869d009bb075f75553" contextRef="c20190101to20191231">2019</dei:DocumentFiscalYearFocus>
  <!--Document Fiscal Period Focus-->
  <dei:DocumentFiscalPeriodFocus id="Fact_edbb2da1f6bb45e4b0910a8b41dde2f1" contextRef="c20190101to20191231">FY</dei:DocumentFiscalPeriodFocus>
  <!--Document Type-->
  <dei:DocumentType id="Fact_3503d798034a4a30837e935e1f9f6f9d" contextRef="c20190101to20191231">10-K</dei:DocumentType>
  <!--Entity Interactive Data Current-->
  <dei:EntityInteractiveDataCurrent id="Fact_a3f681078f0643e097c84634fe4e3c1b" contextRef="c20190101to20191231">Yes</dei:EntityInteractiveDataCurrent>
  <!--Entity Shell Company-->
  <dei:EntityShellCompany id="Fact_5a516539bb32408daab94c5661a04b1a" contextRef="c20190101to20191231">false</dei:EntityShellCompany>
  <!--Entity Emerging Growth Company-->
  <dei:EntityEmergingGrowthCompany id="Fact_7acf70c50a3c40be8db5b9378c866e20" contextRef="c20190101to20191231">false</dei:EntityEmergingGrowthCompany>
  <!--Entity Small Business-->
  <dei:EntitySmallBusiness id="Fact_da9b8f665b124d24b0997e6989cf54ca" contextRef="c20190101to20191231">true</dei:EntitySmallBusiness>
  <!--Accounts payable-->
  <us-gaap:AccountsPayableCurrent id="Fact_21c42700ab3c452dae6bf74edff2b49b" contextRef="c20191231" unitRef="U001" decimals="-3">2960000</us-gaap:AccountsPayableCurrent>
  <!--Accounts payable-->
  <us-gaap:AccountsPayableCurrent id="Fact_9fbcc7a849794725b1f8e411f921e052" contextRef="c20181231" unitRef="U001" decimals="-3">3483000</us-gaap:AccountsPayableCurrent>
  <!--Accounts Payable and Accrued Liabilities Disclosure [Text Block]-->
  <us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock id="Fact_183f7fbdf4c54327b4fd95eebc2278da" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;7. Accrued liabilities&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The components of accrued liabilities are:&lt;/div&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="6" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;December 31,&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2019&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2018&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Salaries and compensation related&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,541&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,817&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Warranty&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;174&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;192&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Professional and consulting&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;465&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;231&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Other&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;861&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;525&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,041&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,765&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:AccountsPayableAndAccruedLiabilitiesDisclosureTextBlock>
  <!--Accounts and Other Receivables, Net, Current-->
  <us-gaap:AccountsAndOtherReceivablesNetCurrent id="Fact_29431bf40e204da082e72a5157e5c3ea" contextRef="c20181231" unitRef="U001" decimals="-3">0</us-gaap:AccountsAndOtherReceivablesNetCurrent>
  <!--Accounts and Other Receivables, Net, Current-->
  <us-gaap:AccountsAndOtherReceivablesNetCurrent id="Fact_3ec1d10ac9d84514b1278537903f4150" contextRef="c20191231" unitRef="U001" decimals="-3">1017000</us-gaap:AccountsAndOtherReceivablesNetCurrent>
  <!--Accounts and Other Receivables, Net, Current-Subsequent Event [Member]-->
  <us-gaap:AccountsAndOtherReceivablesNetCurrent id="Fact_2142502c0efd4d688176b6a75cf95ddb" contextRef="c20200313_SubsequentEventTypeAxis_SubsequentEventMember" unitRef="U001" decimals="-5">1600000</us-gaap:AccountsAndOtherReceivablesNetCurrent>
  <!--Accounts receivable, net-->
  <us-gaap:AccountsReceivableNetCurrent id="Fact_a35ebd19f88e4cc99adc0630ce2c1e4a" contextRef="c20181231" unitRef="U001" decimals="-3">8025000</us-gaap:AccountsReceivableNetCurrent>
  <!--Accounts receivable, net-->
  <us-gaap:AccountsReceivableNetCurrent id="Fact_d4fa8326b4594352aa8d3708587d21c2" contextRef="c20191231" unitRef="U001" decimals="-3">6418000</us-gaap:AccountsReceivableNetCurrent>
  <!--Accrued liabilities-->
  <us-gaap:AccruedLiabilitiesCurrent id="Fact_8f53e0182682409696b8bbd60d3f549f" contextRef="c20181231" unitRef="U001" decimals="-3">2765000</us-gaap:AccruedLiabilitiesCurrent>
  <!--Accrued liabilities-->
  <us-gaap:AccruedLiabilitiesCurrent id="Fact_f4d8257239b843fba14f5a3a985d6bd1" contextRef="c20191231" unitRef="U001" decimals="-3">3041000</us-gaap:AccruedLiabilitiesCurrent>
  <!--Professional and consulting-->
  <us-gaap:AccruedProfessionalFeesCurrent id="Fact_16865860cb2b4a8dafe610fc288e35e8" contextRef="c20191231" unitRef="U001" decimals="-3">465000</us-gaap:AccruedProfessionalFeesCurrent>
  <!--Professional and consulting-->
  <us-gaap:AccruedProfessionalFeesCurrent id="Fact_69fe1c092f554b87be7ff53dc6244731" contextRef="c20181231" unitRef="U001" decimals="-3">231000</us-gaap:AccruedProfessionalFeesCurrent>
  <!--Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment-->
  <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment id="Fact_6ba8f09983634ae6b44e36c28003b427" contextRef="c20191231" unitRef="U001" decimals="-3">19010000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
  <!--Accumulated Depreciation, Depletion and Amortization, Property, Plant, and Equipment-->
  <us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment id="Fact_c081e78f08b6436ba041261648fe5b3f" contextRef="c20181231" unitRef="U001" decimals="-3">20518000</us-gaap:AccumulatedDepreciationDepletionAndAmortizationPropertyPlantAndEquipment>
  <!--Accumulated other comprehensive loss, net of tax-->
  <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax id="Fact_1b2f72311d08492097dccc3c20f59856" contextRef="c20181231" unitRef="U001" decimals="-3">-82000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
  <!--Accumulated other comprehensive loss, net of tax-->
  <us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax id="Fact_fead9fead3294a03baa62ab4a26e1bd8" contextRef="c20191231" unitRef="U001" decimals="-3">-31000</us-gaap:AccumulatedOtherComprehensiveIncomeLossNetOfTax>
  <!--Additional paid-in capital-->
  <us-gaap:AdditionalPaidInCapitalCommonStock id="Fact_065dec9bffd24e9399bc974015525b16" contextRef="c20181231" unitRef="U001" decimals="-3">32129000</us-gaap:AdditionalPaidInCapitalCommonStock>
  <!--Additional paid-in capital-->
  <us-gaap:AdditionalPaidInCapitalCommonStock id="Fact_a6382c346dfe42d8b2f662112cc3a1a5" contextRef="c20191231" unitRef="U001" decimals="-3">32604000</us-gaap:AdditionalPaidInCapitalCommonStock>
  <!--Relinquishment of stock options and deferred stock units to pay withholding taxes-Retained Earnings [Member]-->
  <us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet id="Fact_07a98d28354d4bbea8e6cf270ac0750f" contextRef="c20190101to20191231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3">0</us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet>
  <!--Relinquishment of stock options and deferred stock units to pay withholding taxes-->
  <us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet id="Fact_10ad7a1540e3469292cc5a4d8026ff4a" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">-29000</us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet>
  <!--Relinquishment of stock options and deferred stock units to pay withholding taxes-Treasury Stock [Member]-->
  <us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet id="Fact_1d88c1fddbb544a19d04a32c1d1e6e2e" contextRef="c20170101to20171231_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U001" decimals="-3">0</us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet>
  <!--Relinquishment of stock options and deferred stock units to pay withholding taxes-Treasury Stock [Member]-->
  <us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet id="Fact_33c7128f71c3405d8f473072bddfa377" contextRef="c20190101to20191231_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U001" decimals="-3">0</us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet>
  <!--Relinquishment of stock options and deferred stock units to pay withholding taxes-Additional Paid-in Capital [Member]-->
  <us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet id="Fact_359f8bdc23b6435d8641d7a08efdcb7c" contextRef="c20180101to20181231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3">-268000</us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet>
  <!--Relinquishment of stock options and deferred stock units to pay withholding taxes-Retained Earnings [Member]-->
  <us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet id="Fact_38080a5d90ae4baeb06c4933f1dd7b6d" contextRef="c20180101to20181231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3">0</us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet>
  <!--Relinquishment of stock options and deferred stock units to pay withholding taxes-Common Stock [Member]-->
  <us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet id="Fact_4683142744904eeda438c23154459401" contextRef="c20190101to20191231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3">0</us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet>
  <!--Relinquishment of stock options and deferred stock units to pay withholding taxes-AOCI Attributable to Parent [Member]-->
  <us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet id="Fact_4ca49387c05f47faa5a92e908b9c44df" contextRef="c20170101to20171231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3">0</us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet>
  <!--Relinquishment of stock options and deferred stock units to pay withholding taxes-Retained Earnings [Member]-->
  <us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet id="Fact_57000f1219044fa5a1535468d66ce070" contextRef="c20170101to20171231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3">0</us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet>
  <!--Relinquishment of stock options and deferred stock units to pay withholding taxes-Common Stock [Member]-->
  <us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet id="Fact_8f92ff3581f84aae888d67922afac789" contextRef="c20170101to20171231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3">0</us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet>
  <!--Relinquishment of stock options and deferred stock units to pay withholding taxes-->
  <us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet id="Fact_957d51fc19ad45ed97aa403560e525a7" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">-268000</us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet>
  <!--Relinquishment of stock options and deferred stock units to pay withholding taxes-Additional Paid-in Capital [Member]-->
  <us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet id="Fact_98f7a127cc014647b816c54f6e7204e5" contextRef="c20190101to20191231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3">-217000</us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet>
  <!--Relinquishment of stock options and deferred stock units to pay withholding taxes-Additional Paid-in Capital [Member]-->
  <us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet id="Fact_d616a333e4604fff840a471c9439e4a4" contextRef="c20170101to20171231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3">-29000</us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet>
  <!--Relinquishment of stock options and deferred stock units to pay withholding taxes-Treasury Stock [Member]-->
  <us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet id="Fact_e5971eea2045462fa41e7cbea68509ac" contextRef="c20180101to20181231_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U001" decimals="-3">0</us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet>
  <!--Relinquishment of stock options and deferred stock units to pay withholding taxes-AOCI Attributable to Parent [Member]-->
  <us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet id="Fact_e8d593abcb1a441bbecd6ab94e0a5002" contextRef="c20180101to20181231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3">0</us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet>
  <!--Relinquishment of stock options and deferred stock units to pay withholding taxes-->
  <us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet id="Fact_e9c673ad2e6f4d01b6f614794974523e" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">-217000</us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet>
  <!--Relinquishment of stock options and deferred stock units to pay withholding taxes-AOCI Attributable to Parent [Member]-->
  <us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet id="Fact_ebb2db8602474585b582dd1df6ea74a0" contextRef="c20190101to20191231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3">0</us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet>
  <!--Relinquishment of stock options and deferred stock units to pay withholding taxes-Common Stock [Member]-->
  <us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet id="Fact_f3e42afd799f43f9abe0f79f1e3edbf5" contextRef="c20180101to20181231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3">0</us-gaap:AdjustmentToAdditionalPaidInCapitalIncomeTaxEffectFromShareBasedCompensationNet>
  <!--APIC, Share-based Payment Arrangement, Increase for Cost Recognition-Common Stock [Member]-->
  <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue id="Fact_0720f48e35924eaaabffb478335296e7" contextRef="c20180101to20181231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
  <!--APIC, Share-based Payment Arrangement, Increase for Cost Recognition-Additional Paid-in Capital [Member]-->
  <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue id="Fact_0d294674b25e4d87a7c77cad778d5679" contextRef="c20170101to20171231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3">609000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
  <!--APIC, Share-based Payment Arrangement, Increase for Cost Recognition-AOCI Attributable to Parent [Member]-->
  <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue id="Fact_126dd5f197354b11a9ba3fb46d03ed8e" contextRef="c20170101to20171231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
  <!--APIC, Share-based Payment Arrangement, Increase for Cost Recognition-Common Stock [Member]-->
  <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue id="Fact_1b7e0e75113f480c847cc909abc30501" contextRef="c20190101to20191231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
  <!--APIC, Share-based Payment Arrangement, Increase for Cost Recognition-Treasury Stock [Member]-->
  <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue id="Fact_479167486c3943e997ab4d54d7c6bb7d" contextRef="c20190101to20191231_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U001" decimals="-3">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
  <!--APIC, Share-based Payment Arrangement, Increase for Cost Recognition-AOCI Attributable to Parent [Member]-->
  <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue id="Fact_49a76c69bfae4a3db8cbe4e05c761bee" contextRef="c20180101to20181231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
  <!--APIC, Share-based Payment Arrangement, Increase for Cost Recognition-->
  <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue id="Fact_6ba5348fd2f34b748627ee00d2da1915" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">629000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
  <!--APIC, Share-based Payment Arrangement, Increase for Cost Recognition-->
  <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue id="Fact_83021139999b42699993a42a79844496" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">692000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
  <!--APIC, Share-based Payment Arrangement, Increase for Cost Recognition-Retained Earnings [Member]-->
  <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue id="Fact_91268c214fec45b9aae9f38d9fd854eb" contextRef="c20190101to20191231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
  <!--APIC, Share-based Payment Arrangement, Increase for Cost Recognition-AOCI Attributable to Parent [Member]-->
  <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue id="Fact_99380ee0cb6248808ff25a6ee5987c59" contextRef="c20190101to20191231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
  <!--APIC, Share-based Payment Arrangement, Increase for Cost Recognition-Additional Paid-in Capital [Member]-->
  <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue id="Fact_9e5d361c3f914b2cb7c21924bbc15395" contextRef="c20180101to20181231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3">629000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
  <!--APIC, Share-based Payment Arrangement, Increase for Cost Recognition-Additional Paid-in Capital [Member]-->
  <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue id="Fact_9ed0f9653e404434abc8c480931b2c5c" contextRef="c20190101to20191231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3">692000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
  <!--APIC, Share-based Payment Arrangement, Increase for Cost Recognition-Common Stock [Member]-->
  <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue id="Fact_b53b287470684816bf23fc057262cfd6" contextRef="c20170101to20171231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
  <!--APIC, Share-based Payment Arrangement, Increase for Cost Recognition-Retained Earnings [Member]-->
  <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue id="Fact_bc2906ad8e61494982b8cde427e9d84d" contextRef="c20180101to20181231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
  <!--APIC, Share-based Payment Arrangement, Increase for Cost Recognition-Retained Earnings [Member]-->
  <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue id="Fact_d424a59b8938485db9acc323e493b5d4" contextRef="c20170101to20171231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
  <!--APIC, Share-based Payment Arrangement, Increase for Cost Recognition-->
  <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue id="Fact_d604aebbb191450394d3b03842886975" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">609000</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
  <!--APIC, Share-based Payment Arrangement, Increase for Cost Recognition-Treasury Stock [Member]-->
  <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue id="Fact_e5b5f5e0ebcf48818eaa6d9b60ffbc6d" contextRef="c20170101to20171231_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U001" decimals="-3">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
  <!--APIC, Share-based Payment Arrangement, Increase for Cost Recognition-Treasury Stock [Member]-->
  <us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue id="Fact_f71f3c20ec0c493e8e4fed3439600ffc" contextRef="c20180101to20181231_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U001" decimals="-3">0</us-gaap:AdjustmentsToAdditionalPaidInCapitalSharebasedCompensationRequisiteServicePeriodRecognitionValue>
  <!--Advertising expense-->
  <us-gaap:AdvertisingExpense id="Fact_354c158034f944e2a11c0fcc3cb661d1" contextRef="c20190101to20191231" unitRef="U001" decimals="-5">1400000</us-gaap:AdvertisingExpense>
  <!--Advertising expense-->
  <us-gaap:AdvertisingExpense id="Fact_396df3484e5e490593bfb57e72ba3c2f" contextRef="c20170101to20171231" unitRef="U001" decimals="-5">1000000</us-gaap:AdvertisingExpense>
  <!--Advertising expense-->
  <us-gaap:AdvertisingExpense id="Fact_c16f439b08f6473b8bd99fe2950107e2" contextRef="c20180101to20181231" unitRef="U001" decimals="-5">1000000</us-gaap:AdvertisingExpense>
  <!--Advertising-->
  <us-gaap:AdvertisingCostsPolicyTextBlock id="Fact_4d30b2e622924e108076955d5bbf4601" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Advertising:&lt;/font&gt;&amp;#160;&amp;#160;Advertising costs are expensed as incurred.&amp;#160;&amp;#160;Advertising expenses, which are included in selling and marketing expense on the accompanying Consolidated Statements of Income, for 2019, 2018, and 2017 totaled $1.4 million, $1.0 million and $1.0 million, respectively. These expenses include items such as consulting and professional services, tradeshows, and print advertising.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:AdvertisingCostsPolicyTextBlock>
  <!--Share-based Payment Arrangement, Expense-General and Administrative Expense [Member]-->
  <us-gaap:AllocatedShareBasedCompensationExpense id="Fact_6d78de8978b74b60a9e016769abdb326" contextRef="c20180101to20181231_IncomeStatementLocationAxis_GeneralAndAdministrativeExpenseMember" unitRef="U001" decimals="-3">629000</us-gaap:AllocatedShareBasedCompensationExpense>
  <!--Share-based Payment Arrangement, Expense-General and Administrative Expense [Member]-->
  <us-gaap:AllocatedShareBasedCompensationExpense id="Fact_7eeb4dd3262b4dcaa1771121929820d5" contextRef="c20170101to20171231_IncomeStatementLocationAxis_GeneralAndAdministrativeExpenseMember" unitRef="U001" decimals="-3">609000</us-gaap:AllocatedShareBasedCompensationExpense>
  <!--Share-based Payment Arrangement, Expense-General and Administrative Expense [Member]-->
  <us-gaap:AllocatedShareBasedCompensationExpense id="Fact_b42ddbc69aee4056855bf7c1a8685e57" contextRef="c20190101to20191231_IncomeStatementLocationAxis_GeneralAndAdministrativeExpenseMember" unitRef="U001" decimals="-3">692000</us-gaap:AllocatedShareBasedCompensationExpense>
  <!--Accounts Receivable, Allowance for Credit Loss, Writeoff-->
  <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs id="Fact_4400781df5a34e7c9769817032492b58" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">23000</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
  <!--Accounts Receivable, Allowance for Credit Loss, Writeoff-->
  <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs id="Fact_2070401c5d834e61b6f50d91e54cfd43" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">0</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
  <!--Accounts Receivable, Allowance for Credit Loss, Writeoff-->
  <us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs id="Fact_249e85bfcfa6433f9ac75c6360d3db4c" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">0</us-gaap:AllowanceForDoubtfulAccountsReceivableWriteOffs>
  <!--Accounts Receivable, Allowance for Credit Loss, Current-->
  <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent id="Fact_560a388df2a44d4485e73852cfb25171" contextRef="c20181231" unitRef="U001" decimals="-3">205000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
  <!--Accounts Receivable, Allowance for Credit Loss, Current-->
  <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent id="Fact_8ead25c76a574baf823c6c1dff1830af" contextRef="c20171231" unitRef="U001" decimals="-3">100000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
  <!--Accounts Receivable, Allowance for Credit Loss, Current-->
  <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent id="Fact_fae44322f25b48b2835b77e16b60ddee" contextRef="c20161231" unitRef="U001" decimals="-3">50000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
  <!--Accounts Receivable, Allowance for Credit Loss, Current-->
  <us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent id="Fact_2b9f2703e1414192b42676c1f510b747" contextRef="c20191231" unitRef="U001" decimals="-3">221000</us-gaap:AllowanceForDoubtfulAccountsReceivableCurrent>
  <!--Amortization expense-->
  <us-gaap:AmortizationOfIntangibleAssets id="Fact_3b50722ca4024b79bb90458485e189cb" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">128000</us-gaap:AmortizationOfIntangibleAssets>
  <!--Amortization expense-->
  <us-gaap:AmortizationOfIntangibleAssets id="Fact_89fae72342d7426ab23d026d8ab4ca94" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">284000</us-gaap:AmortizationOfIntangibleAssets>
  <!--Amortization expense-->
  <us-gaap:AmortizationOfIntangibleAssets id="Fact_cf5703dce41c4a5baee0f783713b4ef9" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">237000</us-gaap:AmortizationOfIntangibleAssets>
  <!--Anti-dilutive securities excluded from computation of earnings per dilutive share (in shares)-Stock Awards [Member]-->
  <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount id="Fact_ad87ea899c2f40c997574009b97be57a" contextRef="c20180101to20181231_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_StockCompensationPlanMember" unitRef="U002" decimals="-3">149000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
  <!--Anti-dilutive securities excluded from computation of earnings per dilutive share (in shares)-Stock Awards [Member]-->
  <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount id="Fact_bfe173c65a8d42eab8fbf88ce4687048" contextRef="c20190101to20191231_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_StockCompensationPlanMember" unitRef="U002" decimals="-3">447000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
  <!--Anti-dilutive securities excluded from computation of earnings per dilutive share (in shares)-Stock Awards [Member]-->
  <us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount id="Fact_ec4736b552984480a0e9b8adb8630609" contextRef="c20170101to20171231_AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareByAntidilutiveSecuritiesAxis_StockCompensationPlanMember" unitRef="U002" decimals="-3">341000</us-gaap:AntidilutiveSecuritiesExcludedFromComputationOfEarningsPerShareAmount>
  <!--Assets-->
  <us-gaap:Assets id="Fact_1786a6121511452c991ff4e9c3201036" contextRef="c20181231" unitRef="U001" decimals="-3">34956000</us-gaap:Assets>
  <!--Assets-->
  <us-gaap:Assets id="Fact_baa114864685444b934be0a835ab998f" contextRef="c20191231" unitRef="U001" decimals="-3">36061000</us-gaap:Assets>
  <!--Assets, Current-->
  <us-gaap:AssetsCurrent id="Fact_1369bd8c17604c4e9bf72a83718bf7f2" contextRef="c20181231" unitRef="U001" decimals="-3">27037000</us-gaap:AssetsCurrent>
  <!--Assets, Current-->
  <us-gaap:AssetsCurrent id="Fact_3c0e902ef67b4fb08780d0aa830e0613" contextRef="c20191231" unitRef="U001" decimals="-3">24915000</us-gaap:AssetsCurrent>
  <!--Assets, Noncurrent-->
  <us-gaap:AssetsNoncurrent id="Fact_32bd4d521eb14df9a208385105f89b91" contextRef="c20191231" unitRef="U001" decimals="-3">11146000</us-gaap:AssetsNoncurrent>
  <!--Assets, Noncurrent-->
  <us-gaap:AssetsNoncurrent id="Fact_41e2e63a00964adc962b30efdffe5ac3" contextRef="c20181231" unitRef="U001" decimals="-3">7919000</us-gaap:AssetsNoncurrent>
  <!--Basis of Presentation and Significant Accounting Policies [Text Block]-->
  <us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock id="Fact_846c007ee7f1431bb3819d5d842260aa" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;2. Summary of significant accounting policies&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Principles of consolidation:&lt;/font&gt;&amp;#160;&amp;#160;The accompanying Consolidated Financial Statements include the accounts of TransAct and its wholly-owned subsidiaries, which require consolidation, after the elimination of intercompany accounts, transactions and unrealized profit.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Use of estimates&lt;/font&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;:&lt;/font&gt;&amp;#160;&amp;#160;The preparations of consolidated financial statements in conformity with accounting principles generally accepted in the United States of America (&amp;#8220;GAAP&amp;#8221;) requires management to make estimates and assumptions that affect the reported amounts of assets, liabilities, revenue and expenses, and disclosure of contingent assets and liabilities as of the date of the Consolidated Financial Statements and the reported amounts of sales and expenses during the reporting period. Actual results could differ from those estimates.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Segment reporting&lt;/font&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;: &lt;/font&gt;We apply the provisions of the Financial Accounting Standards Board (&amp;#8220;FASB&amp;#8221;) Accounting Standards Codification (&amp;#8220;ASC&amp;#8221;) 280, &amp;#8220;Segment Reporting.&amp;#8221;&amp;#160;&amp;#160;We view our operations and manage our business as one segment: the design, development and marketing of software-driven technology and printing solutions and providing printer and terminal related software, services, supplies and spare parts.&amp;#160;&amp;#160;Factors used to identify TransAct&amp;#8217;s single operating segment include the organizational structure of the Company and the financial information available for evaluation by the chief operating decision-maker in making decisions about how to allocate resources and assess performance.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Cash and cash equivalents&lt;/font&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;:&lt;/font&gt;&amp;#160;&amp;#160;We consider all highly liquid investments with a maturity date of three months or less at date of purchase to be cash equivalents.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Allowance for doubtful accounts&lt;/font&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;:&lt;/font&gt;&amp;#160;&amp;#160;We establish an allowance for doubtful accounts to ensure trade receivables are valued appropriately. We maintain an allowance for doubtful accounts based on a variety of factors, including the length of time receivables are past due, significant one-time events and historical experience.&amp;#160;&amp;#160;We record a specific allowance for individual accounts when we become aware of a customer&amp;#8217;s inability to meet its financial obligations, such as in the case of bankruptcy filings or deterioration in the customer&amp;#8217;s operating results or financial position.&amp;#160;&amp;#160;If circumstances related to customers change, we would further adjust estimates of the recoverability of receivables.&amp;#160;&amp;#160;&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The following table summarizes the activity recorded in the valuation account for accounts receivable:&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="10" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Year Ended December 31,&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(In thousands)&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2019&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2018&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2017&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Balance, beginning of period&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;205&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;100&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;50&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Additions charged to costs and expenses&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;39&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;105&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;50&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Deductions&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(23&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Balance, end of period&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;221&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;205&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;100&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Inventories:&lt;/font&gt;&amp;#160;&amp;#160;Inventories are stated at the lower of cost (principally standard cost, which approximates actual cost on a first-in, first-out basis) or net realizable value.&amp;#160;&amp;#160;We review net realizable value based on estimated selling prices in the ordinary course of business less estimated costs of completions, disposal and transportation, historical usage and estimates of future demand.&amp;#160;&amp;#160;Based on these reviews, inventory write-downs are recorded, as necessary, to reflect estimated obsolescence, excess quantities and net realizable value.&amp;#160;&amp;#160;&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Fixed assets:&lt;/font&gt;&amp;#160;&amp;#160;Fixed assets are stated at cost.&amp;#160;&amp;#160;Depreciation is recorded using the straight-line method over the estimated useful lives.&amp;#160;&amp;#160;The estimated useful life of tooling is five years; machinery and equipment is ten years; furniture and office equipment is five years to ten years; and computer software and equipment is three years to seven years.&amp;#160;&amp;#160;Leasehold improvements are amortized over the shorter of the term of the lease or the useful life of the asset.&amp;#160;&amp;#160;Costs related to repairs and maintenance are expensed as incurred.&amp;#160;&amp;#160;The costs of sold or retired assets are removed from the related asset and accumulated depreciation accounts and any gain or loss is recognized.&amp;#160;&amp;#160;Depreciation expense was $1.1 million, $0.9 million and $0.8 million in 2019, 2018, and 2017, respectively.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Leases:&lt;/font&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;&amp;#160;&lt;/font&gt;ASU 2016-02,&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;"&gt; &amp;#8220;Leases&amp;#8221;&lt;/font&gt;, which was codified in, and is referred to in this Annual Report as, ASC 842, became effective for reporting periods beginning after December 15, 2018. The adoption required a modified retrospective transition approach, applying the new standard to all leases existing at the date of initial application. An entity may choose to use either (1) its effective date or (2) the beginning of the earliest comparative period presented in the financial statements as its date of initial application. The Company has elected to adopt the standard using the effective date, January 1, 2019, as its date of initial application. Consequently, financial information for prior periods will not be updated, and the disclosures required under the new standard will not be provided for dates and periods before January 1, 2019.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The new standard requires lessees to apply a dual approach, classifying leases as either finance or operating leases based on the principle of whether or not the lease is effectively a financed purchase by the lessee. This classification will determine whether lease expense is recognized based on an effective interest method or on a straight-line basis over the term of the lease, respectively. A lessee is also required to record a right-of-use asset and a lease liability for all leases with a term of greater than 12 months regardless of their classification. Leases with a term of 12 months or less will be accounted for based on existing guidance for operating leases. If risks and rewards are conveyed without the transfer of control, the lease is treated as financing. If the lessor does not convey risks and rewards or control, the lease is treated as operating.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;We have elected certain practical expedients available under ASC 842 upon adoption. We have applied the practical expedient which allows prospective transition to ASC 842 on January 1, 2019. Under this transition practical expedient, we did not reassess lease classification, embedded leases or initial direct costs. We have applied the practical expedient for short-term leases. We have lease agreements that include lease and non-lease components, and we have not elected the practical expedients to combine these components for any of our leases.&amp;#160; The adoption of ASC 842 had no effect on our Consolidated Statement of Income or Consolidated Statement of Cash Flows. Upon adoption of ASC 842, we recorded a $3.7 million right-of-use asset and a $3.9 million lease liability. The adoption of the new standard had no impact on retained earnings.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;We enter into lease agreements for the use of real estate space and certain other&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;&amp;#160;&lt;/font&gt;equipment under operating leases and we have no financing leases. We determine if an arrangement contains a lease at inception. Our leases are included in Right of use assets and Lease liabilities in our Condensed Consolidated Balance Sheet.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Right of use assets represent our right to use an underlying asset for the lease term and lease liabilities represent our obligation to make lease payments arising from the lease. Lease right of use assets and liabilities are recognized at the commencement date of the lease based on the present value of lease payments over the lease term. As most of our leases do not provide an implicit rate, the Company determines its incremental borrowing rate by using the rate of interest that the Company would have to pay to borrow on a collateralized basis over a similar term, an amount equal to the lease payments in a similar economic environment.&amp;#160; Our lease right of use assets exclude lease incentives. Our leases have remaining lease terms of one year to eight years, some of which include options to extend. The majority of our leases with options to extend provide for extensions of up to five years with the ability to terminate the lease within one year. The exercise of lease renewal options is at our sole discretion and our lease right of use assets and liabilities reflect only the options we are reasonably certain that we will exercise. Lease expense is recognized on a straight-line basis over the lease term.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Goodwill and Intangible assets&lt;/font&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;:&lt;/font&gt;&amp;#160;We acquire businesses in purchase transactions that result in the recognition of goodwill and intangible assets. The determination of the value of intangible assets requires management to make estimates and assumptions. In accordance with ASC 350-20 &amp;#8220;Goodwill&amp;#8221;, acquired goodwill is not amortized but is subject to impairment testing at least annually and when an event occurs or circumstances change, that indicate it is more likely than not an impairment exists. Factors considered that may trigger an impairment review of either acquired goodwill or intangible assets are: significant underperformance relative to expected historical or projected future operating results; significant changes in the manner of use of acquired assets or the strategy for the overall business; significant negative industry or economic trends; and significant decline in market capitalization relative to net book value. Finite lived intangible assets are amortized and are tested for impairment when appropriate. We have determined that no goodwill or intangible asset impairment has occurred and the fair value of goodwill was substantially higher than our carrying value based on our assessment as of December 31, 2019 when the impairment review is performed.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; margin-bottom: 8pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Revenue recognition:&lt;/font&gt;&amp;#160;We account for revenue in accordance with ASC Topic 606: Revenue from Contracts with Customers. We adopted ASC 606 effective January 1, 2018 and elected the modified retrospective approach.&amp;#160; The results for periods before 2018 were not adjusted for the new standard and there was no cumulative effect for the change in accounting at the date of adoption.&amp;#160; In accordance with ASC 606, a performance obligation is a promise in a contract with a customer to transfer a distinct good or service to the customer. Some of our contracts with customers contain a single performance obligation, while other contracts contain multiple performance obligations (most commonly when contracts include a hardware product, software and extended warranties).&amp;#160; A contract's transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied.&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The transaction price is determined based on the consideration to which the Company will be entitled in exchange for transferring services to the customer.&amp;#160; To the extent the transaction price includes variable consideration, such as price protection, reserves for returns and other allowances, the Company estimates the amount of variable consideration that should be included in the transaction price utilizing either the &amp;#8220;expected value&amp;#8221; method or the &amp;#8220;most likely amount&amp;#8221; method depending on the nature of the variable consideration.&amp;#160; Variable consideration is included in the transaction price if, in the Company&amp;#8217;s judgment, it is probable that a significant future reversal of cumulative revenue under the contract will not occur.&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;&lt;/font&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;For a majority of our revenue, which consists of printers, terminals, consumables, and replacement parts, the Company recognizes revenue as of a point of time.&amp;#160; The transaction price is recognized upon shipment of the order when control of the goods is transferred to the customer and at the time the performance obligation is fulfilled.&amp;#160; We also sell a software solution in our casino and gaming market, EPICENTRAL&amp;#8482;, that enables casino operators to create promotional coupons and marketing messages and to print them in real-time at the slot machine.&amp;#160; EPICENTRAL&lt;sup&gt;TM&lt;/sup&gt; is primarily comprised of both a software component, which is licensed to the customer, and a hardware component.&amp;#160; EPICENTRAL&amp;#8482; software and hardware are integrated to deliver the system's full functionality.&amp;#160; The transaction prices from EPICENTRAL&amp;#8482; software license and hardware are recognized upon installation and formal acceptance by the customer when control of the license is transferred to the customer.&amp;#160; For out-of-warranty repairs, the transaction price is recognized after the repair work is completed and the printer or terminal is returned to the customer, as control of the product is transferred to the customer and our performance obligation is completed.&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;&lt;/font&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Performance obligations are satisfied over time if the customer receives the benefits as we perform work, if the customer controls the asset as it is being produced, or if the product being produced for the customer has no alternative use and we have a contractual right to payment.&amp;#160; For our separately priced extended warranty, BOHA! cloud-based software applications, technical support for our food service technology terminals and maintenance agreements (including free one-year maintenance received by customers upon completion of EPICENTRAL&amp;#8482; installation) revenue is recognized over time as the customer receives the benefit.&amp;#160; The transaction price from the maintenance services is recognized ratably over time, using output methods, as control of the services is transferred to the customer.&amp;#160; Our cloud-based BOHA! software allows customers to use hosted software over the contract period without taking possession of the software and are provided on a subscription basis and is recognized ratably over the contract period.&amp;#160; For extended warranties, the transaction price is recognized ratably over the warranty period, using output methods, as control of the services is transferred to the customer.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;When there is more than one performance obligation in a customer arrangement, the Company typically uses the &amp;#8220;standalone selling price&amp;#8221; method to determine the transaction price to allocate to each performance obligation. The Company sells the performance obligations separately and has established standalone selling prices for its products and services. In the case of an overall price discount, the discount is applied to each performance obligation proportionately based on standalone selling price. To determine the standalone selling price for initial EPICENTRAL&amp;#8482; installations, the Company uses the adjusted market assessment approach.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; margin-bottom: 8pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;For contracts with terms of less than 12 months, the Company expenses sales commissions as they are incurred, since the expected amortization period of the cost to obtain a contract is less than 12 months.&amp;#160; Prior to the adoption of ASC 606 in 2018, cost to obtain a contract were expensed as incurred regardless of the length of contract.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Disaggregation of revenue&lt;/div&gt;&lt;div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The following table disaggregates our revenue by market-type, as we believe it best depicts how the nature, amount, timing and uncertainty of our revenue and cash flows are affected by economic factors.&amp;#160; Sales and usage-based taxes are excluded from revenues.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="10" valign="bottom" style="vertical-align: top; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Year Ended&lt;/div&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31, 2019&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: top; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;United States&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: top; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;International&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="10" valign="bottom" style="vertical-align: top;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Food Service Technology&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,522&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;582&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6,104&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;POS Automation and Banking&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,714&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;44&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,758&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Casino and Gaming&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;13,076&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;8,453&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;21,529&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Lottery&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,290&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,291&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Printrex&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;961&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;205&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,166&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;TransAct Services Group&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;8,769&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,131&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;9,900&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; margin-left: 16.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total net sales&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;35,332&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;10,416&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;45,748&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="10" valign="bottom" style="vertical-align: top; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Year Ended&lt;/div&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31, 2018&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: top; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;United States&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: top; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;International&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="10" valign="bottom" style="vertical-align: top;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Food Service Technology&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4,640&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;446&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,086&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;POS Automation and Banking&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,122&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;151&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,273&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Casino and Gaming&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;17,518&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;9,075&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;26,593&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Lottery&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,046&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;47&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,093&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Printrex&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,028&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;269&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,297&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;TransAct Services Group&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;10,164&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,081&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;11,245&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; margin-left: 16.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total net sales&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;43,518&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;11,069&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;54,587&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="10" valign="bottom" style="vertical-align: top; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Year Ended&lt;/div&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31, 2017&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: top; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;United States&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: top; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;International&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="10" valign="bottom" style="vertical-align: top;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Food Service Technology&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4,488&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;374&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4,862&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;POS Automation and Banking&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,596&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;309&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,905&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Casino and Gaming&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;13,608&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,007&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;18,615&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Lottery&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;8,626&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,179&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;9,805&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Printrex&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;849&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;203&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,052&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;TransAct Services Group&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;13,553&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;519&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;14,072&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; margin-left: 16.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total net sales&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;48,720&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,591&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;56,311&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Contract balances&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Our contract liabilities consist of customer pre-payments and deferred revenue.&amp;#160; Customer prepayments are reported as &amp;#8220;Accrued Liabilities&amp;#8221; in current liabilities in the Condensed Consolidated Balance Sheets and represent customer payments made in advance of performance obligations in instances where credit has not been extended and is recognized as revenue when the performance obligation is complete.&amp;#160; Deferred revenue is reported separately in current liabilities and non-current liabilities and consists of our extended warranty contracts, technical support for our food service technology terminals, EPICENTRAL&amp;#8482; maintenance contracts and testing service contracts and prepaid software subscriptions for our BOHA! software applications, and is recognized as revenue as (or when) we perform under the contract.&amp;#160; The increase in current and non-current deferred revenue is primarily due to the sale of BOHA! software subscriptions, extended warranties and technical support for our food service technology terminals.&amp;#160; We do not have any contract asset balances as of December 31, 2019 or 2018.&amp;#160; During the year ended December 31, 2019, we recognized revenue of $0.4 million related to our contract liabilities as of December 31, 2018.&amp;#160; Total contract liabilities consist of the following:&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31, 2019&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31, 2018&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="6" valign="bottom" style="vertical-align: bottom;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Customer pre-payments&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;232&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;50&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Deferred revenue, current&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;700&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;384&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Deferred revenue, non-current&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;219&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;265&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total contract liabilities&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;1,151&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;699&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Remaining performance obligations&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Remaining performance obligations represent the transaction price of firm orders for which a good or service has not been delivered to our customer.&amp;#160; As of December 31, 2019, the aggregate amount of the transaction price allocated to remaining performance obligations was $5.8 million.&amp;#160; The Company expects to recognize revenue on $5.5 million of our remaining performance obligations within the next 12 months, $0.2 million within the next 24 months and the balance of these remaining performance obligations recognized within the next 36 months.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Concentration of credit risk:&lt;/font&gt;&amp;#160;&amp;#160;Financial instruments that potentially expose us to concentrations of credit risk are limited to cash and cash equivalents held by our banks in excess of insured limits and accounts receivable.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Accounts receivable from customers representing 10% or more of total accounts receivable were as follows:&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="6" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;December 31,&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2019&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2018&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;International Gaming Technology ("IGT")&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;15&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;21&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Bally Technologies&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;10&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Sales to customers representing 10% or more of total net sales were as follows:&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="10" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Year Ended December 31,&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2019&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2018&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2017&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;IGT&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;14&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;18&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;35&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Warranty:&lt;/font&gt;&amp;#160;&amp;#160;We generally warrant our products for up to 24 months and record the estimated cost of such product warranties at the time the sale is recorded.&amp;#160;&amp;#160;Estimated warranty costs are based upon actual past experience of product repairs and the related estimated cost of labor and material to make the necessary repairs.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The following table summarizes the activity recorded in the accrued product warranty liability:&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="10" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Year Ended December 31,&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(In thousands)&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2019&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2018&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2017&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Balance, beginning of period&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;273&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;267&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;267&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Warranties issued&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;181&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;269&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;259&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Warranty settlements&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(239&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(263&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(259&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Balance, end of period&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;215&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;273&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;267&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$174 thousand and $192 thousand of the accrued product warranty liability were classified as current in Accrued liabilities at December 31, 2019 and 2018, respectively.&amp;#160;&amp;#160;The remaining $41 thousand and $81 thousand of the accrued product warranty liability as of December 31, 2019 and 2018, respectively, is classified as long-term in Other liabilities.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Engineering, design and product development:&lt;/font&gt;&amp;#160;&amp;#160;Engineering, design and product development expenses include expenses incurred in connection with specialized engineering and design to introduce new products and to customize existing products, and are expensed as a component of operating expenses as incurred.&amp;#160;&amp;#160;We recorded $4.4 million, $4.6 million and $4.3 million of research and development expenses in 2019, 2018, and 2017, respectively.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Costs incurred in the engineering, design and product development of a computer software product are charged to expense until technological feasibility has been established, at which point all material software costs are capitalized within Intangible assets in our Consolidated Balance Sheet until the product is available for general release to customers.&amp;#160;&amp;#160;While judgment is required in determining when technological feasibility of a product is established, we have determined that it is reached after all high-risk development issues have been documented in a formal detailed plan design.&amp;#160;&amp;#160;The amortization of these costs have been included in cost of sales over the estimated life of the product.&amp;#160;&amp;#160;During 2019 and 2018, we contracted several third-parties to develop software for our food service technology products.&amp;#160; Unamortized development costs for such software were $704 thousand as of December 31, 2019.&amp;#160;&amp;#160;The total amount charged to cost of sales for capitalized software development costs was $186 thousand, $30 thousand and $2 thousand in 2019, 2018, and 2017, respectively.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Advertising:&lt;/font&gt;&amp;#160;&amp;#160;Advertising costs are expensed as incurred.&amp;#160;&amp;#160;Advertising expenses, which are included in selling and marketing expense on the accompanying Consolidated Statements of Income, for 2019, 2018, and 2017 totaled $1.4 million, $1.0 million and $1.0 million, respectively. These expenses include items such as consulting and professional services, tradeshows, and print advertising.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Income taxes:&lt;/font&gt;&amp;#160;&amp;#160;The income tax amounts reflected in the accompanying Consolidated Financial Statements are accounted for under the liability method in accordance with ASC 740, &amp;#8220;Income Taxes&amp;#8221; (&amp;#8220;ASC 740&amp;#8221;).&amp;#160;&amp;#160;Deferred tax assets and liabilities are recognized for the estimated future tax consequences attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax bases and operating loss and tax credit carryforwards.&amp;#160;&amp;#160;Deferred tax assets and liabilities are measured using enacted tax rates in effect for the year in which those temporary differences are expected to be recovered or settled.&amp;#160;&amp;#160;We assess the likelihood that net deferred tax assets will be realized from future taxable income, and to the extent that we believe that realization is not likely, we establish a valuation allowance.&amp;#160;&amp;#160;In accordance with ASC 740, we identified, evaluated and measured the amount of benefits to be recognized for our tax return positions.&amp;#160;&amp;#160;See Note 10 for information regarding our accounting for income taxes and additional provision items recorded in regard to the Tax Cuts and Job Act.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Foreign currency translation:&lt;/font&gt;&amp;#160;&amp;#160;The financial position and results of operations of our foreign subsidiary in the UK are measured using local currency as the functional currency.&amp;#160;&amp;#160;Assets and liabilities of such subsidiary have been translated into U.S. dollars at the year-end exchange rate, related sales and expenses have been translated at the exchange rate as of the date the transaction was recognized, and shareholders&amp;#8217; equity has been translated at historical exchange rates.&amp;#160;&amp;#160;The resulting translation gains or losses, net of tax, are recorded in shareholders&amp;#8217; equity as a cumulative translation adjustment, which is a component of accumulated other comprehensive income.&amp;#160;&amp;#160;Foreign currency transaction gains and losses, including those related to intercompany balances, are recognized in Other, net on the Consolidated Statements of Income.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Share-based payments:&lt;/font&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;&amp;#160;&lt;/font&gt;At December 31, 2019, we have share-based employee compensation plans, which are described more fully in Note 9 - Stock incentive plans.&amp;#160;&amp;#160;We account for those plans under the recognition and measurement principles of ASC 718, &amp;#8220;Compensation &amp;#8211; Stock Compensation&amp;#8221; (&amp;#8220;ASC 718&amp;#8221;).&amp;#160;&amp;#160;Share-based compensation expense is measured at the grant date, based on the estimated fair value of the award, and is recognized as expense over the employee&amp;#8217;s requisite service period.&amp;#160;&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;We use the Black-Scholes option-pricing model to calculate the fair value of share based awards.&amp;#160;&amp;#160;The key assumptions for this valuation method include the expected term of the option, stock price volatility, risk-free interest rate, dividend yield, market price of our underlying stock and exercise price.&amp;#160;&amp;#160;Many of these assumptions are judgmental and highly sensitive in the determination of compensation expense.&amp;#160;&amp;#160;Beginning in the first quarter of 2017, we recognize forfeitures as they occur.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;In May&amp;#160;2017, the FASB&amp;#160;issued ASU&amp;#160;No. 2017-09, "Compensation-Stock Compensation: Scope of modification accounting".&amp;#160; ASU&amp;#160;2017-09 provides guidance about which changes to the terms or conditions of a share-based payment award require an entity to apply modification accounting in ASC 718.&amp;#160; ASU&amp;#160;No. 2017-09 was effective for fiscal years beginning after December&amp;#160;15, 2017.&amp;#160; The amendments are applied prospectively to an award modified on or after the adoption date.&amp;#160; We adopted this guidance in the first quarter of 2018 and the adoption did not result in a change to our financial statements.&lt;/div&gt;&lt;div style="line-height: 11.05pt;"&gt;&lt;br style="line-height: 11.05pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Net income and loss per share:&lt;/font&gt;&amp;#160;&amp;#160;We report net income or loss per share in accordance with ASC 260, &amp;#8220;Earnings per Share (EPS).&amp;#8221; Under this guidance, basic EPS, which excludes dilution, is computed by dividing income or loss available to common shareholders by the weighted average number of common shares outstanding for the period.&amp;#160;&amp;#160;Diluted EPS reflects the potential dilution that could occur if securities or other contracts to issue common stock were exercised or converted into common stock.&amp;#160;&amp;#160;Diluted EPS includes in-the-money stock options using the treasury stock method.&amp;#160;&amp;#160;During a loss period, the assumed exercise of in-the-money stock options has an anti-dilutive effect, and therefore, these instruments are excluded from the computation of dilutive EPS.&amp;#160;&amp;#160;See Note 11 - Earnings per share.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:BasisOfPresentationAndSignificantAccountingPoliciesTextBlock>
  <!--Non-cash capital expenditure items-->
  <us-gaap:CapitalExpendituresIncurredButNotYetPaid id="Fact_018524451d144d5e95017cefa94ecbbe" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">17000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
  <!--Non-cash capital expenditure items-->
  <us-gaap:CapitalExpendituresIncurredButNotYetPaid id="Fact_1a0f3cdac30a484bbf73e444997631b8" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">21000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
  <!--Non-cash capital expenditure items-->
  <us-gaap:CapitalExpendituresIncurredButNotYetPaid id="Fact_3f7ac0dc8edf4349a40a78634d151ef4" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">44000</us-gaap:CapitalExpendituresIncurredButNotYetPaid>
  <!--Unamortized development costs of software-->
  <us-gaap:CapitalizedComputerSoftwareNet id="Fact_b74889cb28134329a12670809dc13d23" contextRef="c20191231" unitRef="U001" decimals="-3">704000</us-gaap:CapitalizedComputerSoftwareNet>
  <!--Capitalized Computer Software, Amortization-->
  <us-gaap:CapitalizedComputerSoftwareAmortization1 id="Fact_73034d8d47514c9f95dad15acdf49647" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">30000</us-gaap:CapitalizedComputerSoftwareAmortization1>
  <!--Capitalized Computer Software, Amortization-->
  <us-gaap:CapitalizedComputerSoftwareAmortization1 id="Fact_b24ee3f5c1e745eebdb9038b1bbdd84d" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">186000</us-gaap:CapitalizedComputerSoftwareAmortization1>
  <!--Capitalized Computer Software, Amortization-->
  <us-gaap:CapitalizedComputerSoftwareAmortization1 id="Fact_ca078500b0a8426cb1b3450865c963d7" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">2000</us-gaap:CapitalizedComputerSoftwareAmortization1>
  <!--Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents-->
  <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents id="Fact_3d7dd09e6561421ab11d1bbbdfc5985b" contextRef="c20181231" unitRef="U001" decimals="-3">4691000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
  <!--Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents-->
  <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents id="Fact_be2fce78fcc6402fb43775cd4faffd80" contextRef="c20171231" unitRef="U001" decimals="-3">5507000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
  <!--Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents-->
  <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents id="Fact_ff408afee3a74f9a821b294b779508b7" contextRef="c20161231" unitRef="U001" decimals="-3">2503000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
  <!--Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents-->
  <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents id="Fact_ec1c06686d9b474ea57f771a546364d8" contextRef="c20191231" unitRef="U001" decimals="-3">4203000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
  <!--Cash and cash equivalents-->
  <us-gaap:CashAndCashEquivalentsAtCarryingValue id="Fact_46baec6a68164da19c1fd9d51313bf60" contextRef="c20181231" unitRef="U001" decimals="-3">4691000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
  <!--Cash and cash equivalents-->
  <us-gaap:CashAndCashEquivalentsAtCarryingValue id="Fact_c12eeff469744aa9840accc6089f55b2" contextRef="c20191231" unitRef="U001" decimals="-3">4203000</us-gaap:CashAndCashEquivalentsAtCarryingValue>
  <!--Cash and Cash Equivalents, Policy [Policy Text Block]-->
  <us-gaap:CashAndCashEquivalentsPolicyTextBlock id="Fact_0ce8ecc06cf849da8ba2df37f56e466c" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Cash and cash equivalents&lt;/font&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;:&lt;/font&gt;&amp;#160;&amp;#160;We consider all highly liquid investments with a maturity date of three months or less at date of purchase to be cash equivalents.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:CashAndCashEquivalentsPolicyTextBlock>
  <!--Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect-->
  <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect id="Fact_29378c3ef65f44f3b3928ef128c1c1a1" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">-816000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
  <!--Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect-->
  <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect id="Fact_6b5ee50c3bc6444e88814040919e8a4a" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">-488000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
  <!--Cash, Cash Equivalents, Restricted Cash and Restricted Cash Equivalents, Period Increase (Decrease), Including Exchange Rate Effect-->
  <us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect id="Fact_9009bd3938ee4c2dabf5e786ed744598" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">3004000</us-gaap:CashCashEquivalentsRestrictedCashAndRestrictedCashEquivalentsPeriodIncreaseDecreaseIncludingExchangeRateEffect>
  <!--Dividends declared and paid per common share (in dollars per share)-->
  <us-gaap:CommonStockDividendsPerShareCashPaid id="Fact_823428889c4b4f83bc00a5a9f662b1fe" contextRef="c20170101to20171231" unitRef="U003" decimals="INF">0.35</us-gaap:CommonStockDividendsPerShareCashPaid>
  <!--Dividends declared and paid per common share (in dollars per share)-->
  <us-gaap:CommonStockDividendsPerShareCashPaid id="Fact_a648c7802d8e4ad687c8f061654e70a6" contextRef="c20180101to20181231" unitRef="U003" decimals="INF">0.36</us-gaap:CommonStockDividendsPerShareCashPaid>
  <!--Dividends declared and paid per common share (in dollars per share)-->
  <us-gaap:CommonStockDividendsPerShareCashPaid id="Fact_ceb6b7846fea4524b97139cfd6c26197" contextRef="c20190101to20191231" unitRef="U003" decimals="INF">0.36</us-gaap:CommonStockDividendsPerShareCashPaid>
  <!--Common stock, par value (in dollars per share)-->
  <us-gaap:CommonStockParOrStatedValuePerShare id="Fact_0d96b7b317c44b489756ef3eb44ca3ee" contextRef="c20181231" unitRef="U003" decimals="INF">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
  <!--Common stock, par value (in dollars per share)-->
  <us-gaap:CommonStockParOrStatedValuePerShare id="Fact_14f64de55994402296e6b2d537c00df0" contextRef="c20191231" unitRef="U003" decimals="INF">0.01</us-gaap:CommonStockParOrStatedValuePerShare>
  <!--Common stock, shares issued (in shares)-->
  <us-gaap:CommonStockSharesIssued id="Fact_169a5dd96dd3405cba07e2a65a0b4b10" contextRef="c20181231" unitRef="U002" decimals="INF">11463141</us-gaap:CommonStockSharesIssued>
  <!--Common stock, shares issued (in shares)-->
  <us-gaap:CommonStockSharesIssued id="Fact_81a90bd628f547e39c14aefacb5159f8" contextRef="c20191231" unitRef="U002" decimals="INF">11515090</us-gaap:CommonStockSharesIssued>
  <!--Common stock, shares issued (in shares)-Common Stock [Member]-->
  <us-gaap:CommonStockSharesIssued id="Fact_cac7bcbd50c247e3b153a1bff1423ea4" contextRef="c20161231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="INF">7333364</us-gaap:CommonStockSharesIssued>
  <!--Common stock, shares issued (in shares)-Common Stock [Member]-->
  <us-gaap:CommonStockSharesIssued id="Fact_30fc8d16bfbc40b38e531422b6f38fe0" contextRef="c20171231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="INF">7478094</us-gaap:CommonStockSharesIssued>
  <!--Common stock, shares issued (in shares)-Common Stock [Member]-->
  <us-gaap:CommonStockSharesIssued id="Fact_33fd9034947a4e2c8f7fdedfa911c07f" contextRef="c20191231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="INF">7470248</us-gaap:CommonStockSharesIssued>
  <!--Common stock, shares issued (in shares)-Common Stock [Member]-->
  <us-gaap:CommonStockSharesIssued id="Fact_ae0ec663438641ca9efc302a4d284827" contextRef="c20181231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="INF">7418299</us-gaap:CommonStockSharesIssued>
  <!--Common stock, shares authorized (in shares)-->
  <us-gaap:CommonStockSharesAuthorized id="Fact_660b2030306f4c8d991e33cadfea51f0" contextRef="c20191231" unitRef="U002" decimals="INF">20000000</us-gaap:CommonStockSharesAuthorized>
  <!--Common stock, shares authorized (in shares)-->
  <us-gaap:CommonStockSharesAuthorized id="Fact_e9282e6275144785b37c74afcc971318" contextRef="c20181231" unitRef="U002" decimals="INF">20000000</us-gaap:CommonStockSharesAuthorized>
  <!--Common stock, shares outstanding (in shares)-->
  <us-gaap:CommonStockSharesOutstanding id="Fact_5786107d2a934fd78c9d415ae66c6dcd" contextRef="c20191231" unitRef="U002" decimals="INF">7470248</us-gaap:CommonStockSharesOutstanding>
  <!--Common stock, shares outstanding (in shares)-->
  <us-gaap:CommonStockSharesOutstanding id="Fact_7e293ab380774ee4ada6ced97ba0d124" contextRef="c20181231" unitRef="U002" decimals="INF">7418299</us-gaap:CommonStockSharesOutstanding>
  <!--Common stock, $0.01 par value, 20,000,000 shares authorized; 11,500,502 and 11,463,141 shares issued, respectively; 7,455,660 and 7,418,299 shares outstanding, respectively-->
  <us-gaap:CommonStockValue id="Fact_995b317e8bfa43b5ad283ad5a783ad27" contextRef="c20181231" unitRef="U001" decimals="-3">115000</us-gaap:CommonStockValue>
  <!--Common stock, $0.01 par value, 20,000,000 shares authorized; 11,500,502 and 11,463,141 shares issued, respectively; 7,455,660 and 7,418,299 shares outstanding, respectively-->
  <us-gaap:CommonStockValue id="Fact_ec641aafc95640119c559dbd92a9f8eb" contextRef="c20191231" unitRef="U001" decimals="-3">115000</us-gaap:CommonStockValue>
  <!--Retirement savings plan-->
  <us-gaap:CompensationAndEmployeeBenefitPlansTextBlock id="Fact_dc93b1635161438890b122a946417d84" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;8. Retirement savings plan&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;We maintain a 401(k) plan under which all full-time employees are eligible to participate at the beginning of each month immediately following their date of hire.&amp;#160;&amp;#160;We match employees&amp;#8217; contributions at a rate of 50% of employees&amp;#8217; contributions up to the first 6% of the employees&amp;#8217; compensation contributed to the 401(k) plan.&amp;#160;&amp;#160;Our matching contributions were $305 thousand, $237 thousand and $264 thousand in 2019, 2018, and 2017, respectively.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:CompensationAndEmployeeBenefitPlansTextBlock>
  <!--Comprehensive Income (Loss), Net of Tax, Attributable to Parent-->
  <us-gaap:ComprehensiveIncomeNetOfTax id="Fact_453ae424a2674caa935a4c8371f0c68e" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">3221000</us-gaap:ComprehensiveIncomeNetOfTax>
  <!--Comprehensive Income (Loss), Net of Tax, Attributable to Parent-->
  <us-gaap:ComprehensiveIncomeNetOfTax id="Fact_4a62c45981184e268b00562bc0ab55ce" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">567000</us-gaap:ComprehensiveIncomeNetOfTax>
  <!--Comprehensive Income (Loss), Net of Tax, Attributable to Parent-->
  <us-gaap:ComprehensiveIncomeNetOfTax id="Fact_612409b61c2448e5abe5b2672322dfa1" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">5443000</us-gaap:ComprehensiveIncomeNetOfTax>
  <!--Concentration Risk, Percentage-International Game Technology PLC [Member]-Sales [Member]-->
  <us-gaap:ConcentrationRiskPercentage1 id="Fact_18698b9a471044689168a4d756d25340" contextRef="c20180101to20181231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_MajorCustomersAxis_InternationalGameTechnologyPLCMember" unitRef="U006" decimals="2">0.18</us-gaap:ConcentrationRiskPercentage1>
  <!--Concentration Risk, Percentage-International Game Technology PLC [Member]-Sales [Member]-->
  <us-gaap:ConcentrationRiskPercentage1 id="Fact_2c67e16e2e0c40a3831a60b48557c6fc" contextRef="c20190101to20191231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_MajorCustomersAxis_InternationalGameTechnologyPLCMember" unitRef="U006" decimals="2">0.14</us-gaap:ConcentrationRiskPercentage1>
  <!--Concentration Risk, Percentage-Accounts Receivable [Member]-International Game Technology PLC [Member]-Customer Concentration Risk [Member]-->
  <us-gaap:ConcentrationRiskPercentage1 id="Fact_aab6ab8f855649b0b99273afbff9bf9c" contextRef="c20190101to20191231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_InternationalGameTechnologyPLCMember" unitRef="U006" decimals="2">0.15</us-gaap:ConcentrationRiskPercentage1>
  <!--Concentration Risk, Percentage-International Game Technology PLC [Member]-Customer Concentration Risk [Member]-Accounts Receivable [Member]-->
  <us-gaap:ConcentrationRiskPercentage1 id="Fact_d06d13cf15d343fb8a6920ade75665b5" contextRef="c20180101to20181231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_InternationalGameTechnologyPLCMember" unitRef="U006" decimals="2">0.21</us-gaap:ConcentrationRiskPercentage1>
  <!--Concentration Risk, Percentage-Accounts Receivable [Member]-Bally Technologies [Member]-Customer Concentration Risk [Member]-->
  <us-gaap:ConcentrationRiskPercentage1 id="Fact_d90fcea1371b4304b0feb5fefa400535" contextRef="c20190101to20191231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_BallyTechnologiesMember" unitRef="U006" decimals="1">0.1</us-gaap:ConcentrationRiskPercentage1>
  <!--Concentration Risk, Percentage-Sales [Member]-International Game Technology PLC [Member]-->
  <us-gaap:ConcentrationRiskPercentage1 id="Fact_db554923cc354ea486d6a01256fafbfa" contextRef="c20170101to20171231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_MajorCustomersAxis_InternationalGameTechnologyPLCMember" unitRef="U006" decimals="2">0.35</us-gaap:ConcentrationRiskPercentage1>
  <!--Concentration Risk, Percentage-Accounts Receivable [Member]-Bally Technologies [Member]-Customer Concentration Risk [Member]-->
  <us-gaap:ConcentrationRiskPercentage1 id="Fact_dccd29bfd91c44a4bbca979fee0a1307" contextRef="c20180101to20181231_ConcentrationRiskByBenchmarkAxis_AccountsReceivableMember_ConcentrationRiskByTypeAxis_CustomerConcentrationRiskMember_MajorCustomersAxis_BallyTechnologiesMember" unitRef="U006" decimals="2">0.06</us-gaap:ConcentrationRiskPercentage1>
  <!--Concentration Risk, Percentage-Geographic Concentration Risk [Member]-Pacific Rim [Member]-Sales [Member]-->
  <us-gaap:ConcentrationRiskPercentage1 id="Fact_618f09fd937e4f159871d717cb10ae3b" contextRef="c20190101to20191231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_PacificRimMember" unitRef="U006" decimals="2">0.46</us-gaap:ConcentrationRiskPercentage1>
  <!--Concentration Risk, Percentage-International [Member]-Sales [Member]-Geographic Concentration Risk [Member]-->
  <us-gaap:ConcentrationRiskPercentage1 id="Fact_61d36b3a6a1a4c7ca634ae5dac7ed1a1" contextRef="c20170101to20171231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_InternationalMember" unitRef="U006" decimals="2">0.14</us-gaap:ConcentrationRiskPercentage1>
  <!--Concentration Risk, Percentage-Sales [Member]-International [Member]-Geographic Concentration Risk [Member]-->
  <us-gaap:ConcentrationRiskPercentage1 id="Fact_62852c8ae8e644fb86238bb429aedb46" contextRef="c20180101to20181231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_InternationalMember" unitRef="U006" decimals="1">0.2</us-gaap:ConcentrationRiskPercentage1>
  <!--Concentration Risk, Percentage-Geographic Concentration Risk [Member]-Pacific Rim [Member]-Sales [Member]-->
  <us-gaap:ConcentrationRiskPercentage1 id="Fact_657ec770d71a4e30a30946ace3552e49" contextRef="c20170101to20171231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_PacificRimMember" unitRef="U006" decimals="2">0.32</us-gaap:ConcentrationRiskPercentage1>
  <!--Concentration Risk, Percentage-International [Member]-Sales [Member]-Geographic Concentration Risk [Member]-->
  <us-gaap:ConcentrationRiskPercentage1 id="Fact_6a98341b0e134915a458ab658b600070" contextRef="c20190101to20191231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_InternationalMember" unitRef="U006" decimals="2">0.23</us-gaap:ConcentrationRiskPercentage1>
  <!--Concentration Risk, Percentage-Geographic Concentration Risk [Member]-Sales [Member]-Europe [Member]-->
  <us-gaap:ConcentrationRiskPercentage1 id="Fact_704c3048e25445238f3e2ceb7bf47239" contextRef="c20170101to20171231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_EuropeMember" unitRef="U006" decimals="2">0.44</us-gaap:ConcentrationRiskPercentage1>
  <!--Concentration Risk, Percentage-Geographic Concentration Risk [Member]-Sales [Member]-CANADA-->
  <us-gaap:ConcentrationRiskPercentage1 id="Fact_7e0dd9fe961449b48f9db29111509e17" contextRef="c20180101to20181231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_CA" unitRef="U006" decimals="2">0.06</us-gaap:ConcentrationRiskPercentage1>
  <!--Concentration Risk, Percentage-Europe [Member]-Geographic Concentration Risk [Member]-Sales [Member]-->
  <us-gaap:ConcentrationRiskPercentage1 id="Fact_8416550ff01342289ce08cc032a24e4d" contextRef="c20190101to20191231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_EuropeMember" unitRef="U006" decimals="2">0.44</us-gaap:ConcentrationRiskPercentage1>
  <!--Concentration Risk, Percentage-CANADA-Geographic Concentration Risk [Member]-Sales [Member]-->
  <us-gaap:ConcentrationRiskPercentage1 id="Fact_8639ddb95bb2411987191e7bda44b06a" contextRef="c20190101to20191231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_CA" unitRef="U006" decimals="2">0.08</us-gaap:ConcentrationRiskPercentage1>
  <!--Concentration Risk, Percentage-Europe [Member]-Sales [Member]-Geographic Concentration Risk [Member]-->
  <us-gaap:ConcentrationRiskPercentage1 id="Fact_96e8d81e37074761b5c05885fe2ae358" contextRef="c20180101to20181231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_EuropeMember" unitRef="U006" decimals="2">0.56</us-gaap:ConcentrationRiskPercentage1>
  <!--Concentration Risk, Percentage-Sales [Member]-Pacific Rim [Member]-Geographic Concentration Risk [Member]-->
  <us-gaap:ConcentrationRiskPercentage1 id="Fact_c44052745c4c4426b07a7f57f4b86d4a" contextRef="c20180101to20181231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_PacificRimMember" unitRef="U006" decimals="2">0.36</us-gaap:ConcentrationRiskPercentage1>
  <!--Concentration Risk, Percentage-Geographic Concentration Risk [Member]-CANADA-Sales [Member]-->
  <us-gaap:ConcentrationRiskPercentage1 id="Fact_d1220ee30d44423b909389e1488585f8" contextRef="c20170101to20171231_ConcentrationRiskByBenchmarkAxis_SalesRevenueNetMember_ConcentrationRiskByTypeAxis_GeographicConcentrationRiskMember_StatementGeographicalAxis_CA" unitRef="U006" decimals="2">0.18</us-gaap:ConcentrationRiskPercentage1>
  <!--Concentration of credit risk-->
  <us-gaap:ConcentrationRiskCreditRisk id="Fact_2b2495e2d4944337ad6c768bc35b757d" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Concentration of credit risk:&lt;/font&gt;&amp;#160;&amp;#160;Financial instruments that potentially expose us to concentrations of credit risk are limited to cash and cash equivalents held by our banks in excess of insured limits and accounts receivable.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Accounts receivable from customers representing 10% or more of total accounts receivable were as follows:&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="6" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;December 31,&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2019&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2018&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;International Gaming Technology ("IGT")&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;15&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;21&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Bally Technologies&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;10&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Sales to customers representing 10% or more of total net sales were as follows:&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="10" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Year Ended December 31,&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2019&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2018&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2017&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;IGT&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;14&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;18&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;35&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ConcentrationRiskCreditRisk>
  <!--Principles of consolidation-->
  <us-gaap:ConsolidationPolicyTextBlock id="Fact_706186be045d46feaef203e9809e630a" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Principles of consolidation:&lt;/font&gt;&amp;#160;&amp;#160;The accompanying Consolidated Financial Statements include the accounts of TransAct and its wholly-owned subsidiaries, which require consolidation, after the elimination of intercompany accounts, transactions and unrealized profit.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ConsolidationPolicyTextBlock>
  <!--Deferred revenue, net of current portion-->
  <us-gaap:ContractWithCustomerLiabilityNoncurrent id="Fact_647ac6ae82d942368da9ca0e7fae2b06" contextRef="c20191231" unitRef="U001" decimals="-3">219000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
  <!--Deferred revenue, net of current portion-->
  <us-gaap:ContractWithCustomerLiabilityNoncurrent id="Fact_fcc0f39fad9d41ff9e24948a02b12752" contextRef="c20181231" unitRef="U001" decimals="-3">265000</us-gaap:ContractWithCustomerLiabilityNoncurrent>
  <!--Contract with Customer, Liability-->
  <us-gaap:ContractWithCustomerLiability id="Fact_bf1f58977f904bca930dc21db72e5579" contextRef="c20181231" unitRef="U001" decimals="-3">699000</us-gaap:ContractWithCustomerLiability>
  <!--Contract with Customer, Liability-->
  <us-gaap:ContractWithCustomerLiability id="Fact_cad25c8cb0c54ecca825c3be77b2c4bc" contextRef="c20191231" unitRef="U001" decimals="-3">1151000</us-gaap:ContractWithCustomerLiability>
  <!--Contract with Customer, Liability, Revenue Recognized-->
  <us-gaap:ContractWithCustomerLiabilityRevenueRecognized id="Fact_8862b93c3eeb48f19720cfd6ae967fe5" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">384000</us-gaap:ContractWithCustomerLiabilityRevenueRecognized>
  <!--Deferred revenue-->
  <us-gaap:ContractWithCustomerLiabilityCurrent id="Fact_0abe6915141b4df38b329b75186a3357" contextRef="c20191231" unitRef="U001" decimals="-3">700000</us-gaap:ContractWithCustomerLiabilityCurrent>
  <!--Deferred revenue-->
  <us-gaap:ContractWithCustomerLiabilityCurrent id="Fact_4725175400ed4165aef71e4295e21690" contextRef="c20181231" unitRef="U001" decimals="-3">384000</us-gaap:ContractWithCustomerLiabilityCurrent>
  <!--Contract with Customer, Asset and Liability [Table Text Block]-->
  <us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock id="Fact_7dcc547919d6458a8aa923a75bef01a2" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Contract balances&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Our contract liabilities consist of customer pre-payments and deferred revenue.&amp;#160; Customer prepayments are reported as &amp;#8220;Accrued Liabilities&amp;#8221; in current liabilities in the Condensed Consolidated Balance Sheets and represent customer payments made in advance of performance obligations in instances where credit has not been extended and is recognized as revenue when the performance obligation is complete.&amp;#160; Deferred revenue is reported separately in current liabilities and non-current liabilities and consists of our extended warranty contracts, technical support for our food service technology terminals, EPICENTRAL&amp;#8482; maintenance contracts and testing service contracts and prepaid software subscriptions for our BOHA! software applications, and is recognized as revenue as (or when) we perform under the contract.&amp;#160; The increase in current and non-current deferred revenue is primarily due to the sale of BOHA! software subscriptions, extended warranties and technical support for our food service technology terminals.&amp;#160; We do not have any contract asset balances as of December 31, 2019 or 2018.&amp;#160; During the year ended December 31, 2019, we recognized revenue of $0.4 million related to our contract liabilities as of December 31, 2018.&amp;#160; Total contract liabilities consist of the following:&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31, 2019&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31, 2018&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="6" valign="bottom" style="vertical-align: bottom;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Customer pre-payments&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;232&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;50&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Deferred revenue, current&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;700&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;384&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Deferred revenue, non-current&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;219&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;265&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total contract liabilities&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;1,151&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;699&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ContractWithCustomerAssetAndLiabilityTableTextBlock>
  <!--Cost of sales-->
  <us-gaap:CostOfRevenue id="Fact_5ad6f9ea3f814397a66c73a85f2e1b57" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">29649000</us-gaap:CostOfRevenue>
  <!--Cost of sales-->
  <us-gaap:CostOfRevenue id="Fact_901c5a606fdb4199b79c84fa5516e14e" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">23813000</us-gaap:CostOfRevenue>
  <!--Cost of sales-->
  <us-gaap:CostOfRevenue id="Fact_af632be4ab4f47fa840f647095f08a5a" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">27844000</us-gaap:CostOfRevenue>
  <!--Current Income Tax Expense (Benefit)-->
  <us-gaap:CurrentIncomeTaxExpenseBenefit id="Fact_2d9217a813f74f51b1ae9c359a174e88" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">2444000</us-gaap:CurrentIncomeTaxExpenseBenefit>
  <!--Current Income Tax Expense (Benefit)-->
  <us-gaap:CurrentIncomeTaxExpenseBenefit id="Fact_a88155ac63674ce6af80662702498e61" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">1147000</us-gaap:CurrentIncomeTaxExpenseBenefit>
  <!--Current Income Tax Expense (Benefit)-->
  <us-gaap:CurrentIncomeTaxExpenseBenefit id="Fact_b38de54cd3824868b05d77e76c7b616d" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">145000</us-gaap:CurrentIncomeTaxExpenseBenefit>
  <!--Current State and Local Tax Expense (Benefit)-->
  <us-gaap:CurrentStateAndLocalTaxExpenseBenefit id="Fact_5952f9efc1c040cab3b038c527f90c39" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">114000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
  <!--Current State and Local Tax Expense (Benefit)-->
  <us-gaap:CurrentStateAndLocalTaxExpenseBenefit id="Fact_ae2476c52783485e9ccd2e80e0cff783" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">51000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
  <!--Current State and Local Tax Expense (Benefit)-->
  <us-gaap:CurrentStateAndLocalTaxExpenseBenefit id="Fact_e0153d0949424897a92ce0bffdc42840" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">85000</us-gaap:CurrentStateAndLocalTaxExpenseBenefit>
  <!--Current Foreign Tax Expense (Benefit)-->
  <us-gaap:CurrentForeignTaxExpenseBenefit id="Fact_08eda4fd55ec46c0a848c9e04cbda431" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">13000</us-gaap:CurrentForeignTaxExpenseBenefit>
  <!--Current Foreign Tax Expense (Benefit)-->
  <us-gaap:CurrentForeignTaxExpenseBenefit id="Fact_7c414664b69f4a5e86561b2757ed35cb" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">36000</us-gaap:CurrentForeignTaxExpenseBenefit>
  <!--Current Foreign Tax Expense (Benefit)-->
  <us-gaap:CurrentForeignTaxExpenseBenefit id="Fact_9e6ce1dedf7b4340b0a193d0e55c300d" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">-49000</us-gaap:CurrentForeignTaxExpenseBenefit>
  <!--Current Federal Tax Expense (Benefit)-->
  <us-gaap:CurrentFederalTaxExpenseBenefit id="Fact_2ebc389a8cca45c2966ce2777c09d7ed" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">1049000</us-gaap:CurrentFederalTaxExpenseBenefit>
  <!--Current Federal Tax Expense (Benefit)-->
  <us-gaap:CurrentFederalTaxExpenseBenefit id="Fact_a57b53d07d0e4f4f9375a57d7c8d93c1" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">58000</us-gaap:CurrentFederalTaxExpenseBenefit>
  <!--Current Federal Tax Expense (Benefit)-->
  <us-gaap:CurrentFederalTaxExpenseBenefit id="Fact_eb35b9a2fc0f4206b27d91ec5d8b6563" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">2379000</us-gaap:CurrentFederalTaxExpenseBenefit>
  <!--Disaggregation of Revenue [Table Text Block]-->
  <us-gaap:DisaggregationOfRevenueTableTextBlock id="Fact_99e0b540edf3410eacdc961c442158c6" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Disaggregation of revenue&lt;/div&gt;&lt;div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The following table disaggregates our revenue by market-type, as we believe it best depicts how the nature, amount, timing and uncertainty of our revenue and cash flows are affected by economic factors.&amp;#160; Sales and usage-based taxes are excluded from revenues.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="10" valign="bottom" style="vertical-align: top; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Year Ended&lt;/div&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31, 2019&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: top; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;United States&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: top; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;International&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="10" valign="bottom" style="vertical-align: top;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Food Service Technology&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,522&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;582&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6,104&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;POS Automation and Banking&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,714&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;44&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,758&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Casino and Gaming&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;13,076&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;8,453&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;21,529&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Lottery&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,290&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,291&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Printrex&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;961&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;205&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,166&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;TransAct Services Group&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;8,769&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,131&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;9,900&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; margin-left: 16.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total net sales&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;35,332&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;10,416&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;45,748&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="10" valign="bottom" style="vertical-align: top; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Year Ended&lt;/div&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31, 2018&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: top; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;United States&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: top; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;International&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="10" valign="bottom" style="vertical-align: top;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Food Service Technology&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4,640&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;446&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,086&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;POS Automation and Banking&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,122&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;151&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,273&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Casino and Gaming&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;17,518&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;9,075&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;26,593&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Lottery&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,046&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;47&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,093&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Printrex&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,028&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;269&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,297&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;TransAct Services Group&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;10,164&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,081&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;11,245&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; margin-left: 16.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total net sales&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;43,518&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;11,069&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;54,587&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="10" valign="bottom" style="vertical-align: top; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Year Ended&lt;/div&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31, 2017&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: top; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;United States&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: top; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;International&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="10" valign="bottom" style="vertical-align: top;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Food Service Technology&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4,488&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;374&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4,862&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;POS Automation and Banking&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,596&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;309&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,905&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Casino and Gaming&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;13,608&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,007&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;18,615&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Lottery&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;8,626&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,179&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;9,805&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Printrex&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;849&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;203&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,052&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;TransAct Services Group&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;13,553&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;519&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;14,072&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; margin-left: 16.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total net sales&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;48,720&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,591&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;56,311&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:DisaggregationOfRevenueTableTextBlock>
  <!--Basis spread on variable rate-Prime Rate [Member]-TD Bank, N.A. [Member]-Revolving Credit Facility [Member]-->
  <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1 id="Fact_7d68dc6babf746eaa58e05685c4f0e9e" contextRef="c20190101to20191231_CreditFacilityAxis_RevolvingCreditFacilityMember_LineOfCreditFacilityAxis_TDBankNAMember_VariableRateAxis_PrimeRateMember" unitRef="U006" decimals="INF">-0.01</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
  <!--Basis spread on variable rate-Siena Lending Group LLC [Member]-Subsequent Event [Member]-Revolving Credit Facility [Member]-Fed Funds Effective Rate Overnight Index Swap Rate [Member]-->
  <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1 id="Fact_e97dd6da4c2d424e87e9575a2671905e" contextRef="c20200313to20200313_CreditFacilityAxis_RevolvingCreditFacilityMember_LineOfCreditFacilityAxis_SienaLendingGroupLLCMember_SubsequentEventTypeAxis_SubsequentEventMember_VariableRateAxis_FederalFundsEffectiveSwapRateMember" unitRef="U006" decimals="INF">0.0225</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
  <!--Basis spread on variable rate-Subsequent Event [Member]-Siena Lending Group LLC [Member]-Revolving Credit Facility [Member]-Prime Rate [Member]-->
  <us-gaap:DebtInstrumentBasisSpreadOnVariableRate1 id="Fact_2a56b0b59f5f4c66af4c1cc5bcbf80a6" contextRef="c20200313to20200313_CreditFacilityAxis_RevolvingCreditFacilityMember_LineOfCreditFacilityAxis_SienaLendingGroupLLCMember_SubsequentEventTypeAxis_SubsequentEventMember_VariableRateAxis_PrimeRateMember" unitRef="U006" decimals="INF">0.0175</us-gaap:DebtInstrumentBasisSpreadOnVariableRate1>
  <!--Borrowings-->
  <us-gaap:DebtDisclosureTextBlock id="Fact_0ff3cd069486495aa594bda54e66796a" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;9. Borrowings&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;During 2019, we maintained a credit facility (the &amp;#8220;TD Bank Credit Facility&amp;#8221;) with TD Bank N.A. (&amp;#8220;TD Bank) which provided for a $20 million revolving credit line.&amp;#160;&amp;#160;On November 21, 2017, we signed an amendment to the TD Bank Credit Facility extending the term through November 28, 2022.&amp;#160; Borrowings under the revolving credit line bear a floating rate of interest at the prime rate minus one percent and are secured by a lien on all our assets.&amp;#160; We also pay a fee of 0.125% on unused borrowings under the revolving credit line.&amp;#160; The amendment increased the amount of revolving credit loans we may use to fund future cash dividend payments or treasury share buybacks to $12.5 million from $10 million.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The TD Bank Credit Facility imposes certain quarterly financial covenants on us and restricts, among other things, our ability to incur additional indebtedness and the creation of other liens. On November 6, 2019, we amended our TD Credit Facility to change the definition of interest expense to exclude fees paid on unused borrowings under the revolving credit line which is used to calculate total debt service in the operating cash flow to total debt service financial covenant.&amp;#160; We were in compliance with all financial covenants of the TD Bank Credit Facility at December 31, 2019.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;As of December 31, 2019, we had no outstanding borrowings under the TD Bank Credit facility.&amp;#160;&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;On March 13, 2020, we terminated our TD Bank Credit Facility and signed a new credit facility with Siena Lending Group LLC.&amp;#160; See Note 16 &amp;#8211; Subsequent Event.&lt;/div&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:DebtDisclosureTextBlock>
  <!--Debt Instrument, Interest Rate, Stated Percentage-Subsequent Event [Member]-Revolving Credit Facility [Member]-Siena Lending Group LLC [Member]-->
  <us-gaap:DebtInstrumentInterestRateStatedPercentage id="Fact_d765225f9fbb4a9ebd0be24359254964" contextRef="c20200313_CreditFacilityAxis_RevolvingCreditFacilityMember_LineOfCreditFacilityAxis_SienaLendingGroupLLCMember_SubsequentEventTypeAxis_SubsequentEventMember" unitRef="U006" decimals="INF">0.065</us-gaap:DebtInstrumentInterestRateStatedPercentage>
  <!--Decrease in Unrecognized Tax Benefits is Reasonably Possible-->
  <us-gaap:DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible id="Fact_f7a92e0e446d4394a473741fe70888cf" contextRef="c20191231" unitRef="U001" decimals="-3">27000</us-gaap:DecreaseInUnrecognizedTaxBenefitsIsReasonablyPossible>
  <!--Deferred Income Tax Assets, Net-->
  <us-gaap:DeferredIncomeTaxAssetsNet id="Fact_53cc1d17747e44a6b5b0ad6e5492827d" contextRef="c20191231" unitRef="U001" decimals="-3">2565000</us-gaap:DeferredIncomeTaxAssetsNet>
  <!--Deferred Income Tax Assets, Net-->
  <us-gaap:DeferredIncomeTaxAssetsNet id="Fact_e65fb83a72bd49fbb90bd5b3fe131097" contextRef="c20181231" unitRef="U001" decimals="-3">2198000</us-gaap:DeferredIncomeTaxAssetsNet>
  <!--Deferred Tax Expense from Stock Options Exercised-Retained Earnings [Member]-->
  <us-gaap:DeferredTaxExpenseFromStockOptionsExercised id="Fact_084d789c1b9e432a883de9d3bced0b16" contextRef="c20170101to20171231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3">31000</us-gaap:DeferredTaxExpenseFromStockOptionsExercised>
  <!--Deferred Tax Expense from Stock Options Exercised-Additional Paid-in Capital [Member]-->
  <us-gaap:DeferredTaxExpenseFromStockOptionsExercised id="Fact_0e63e752e8d4454fa3632033a49feb0a" contextRef="c20170101to20171231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3">-31000</us-gaap:DeferredTaxExpenseFromStockOptionsExercised>
  <!--Deferred Tax Expense from Stock Options Exercised-->
  <us-gaap:DeferredTaxExpenseFromStockOptionsExercised id="Fact_91e7bd82eafc4836b756f9269ff08435" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">0</us-gaap:DeferredTaxExpenseFromStockOptionsExercised>
  <!--Deferred Tax Expense from Stock Options Exercised-Common Stock [Member]-->
  <us-gaap:DeferredTaxExpenseFromStockOptionsExercised id="Fact_92a483e1b3194a328d7813701853e042" contextRef="c20170101to20171231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3">0</us-gaap:DeferredTaxExpenseFromStockOptionsExercised>
  <!--Deferred Tax Expense from Stock Options Exercised-AOCI Attributable to Parent [Member]-->
  <us-gaap:DeferredTaxExpenseFromStockOptionsExercised id="Fact_ac7aba486b524cb78236a4cb728b8c18" contextRef="c20170101to20171231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3">0</us-gaap:DeferredTaxExpenseFromStockOptionsExercised>
  <!--Deferred Tax Expense from Stock Options Exercised-Treasury Stock [Member]-->
  <us-gaap:DeferredTaxExpenseFromStockOptionsExercised id="Fact_f435c48edf7240b18b9e0567f97bcbe1" contextRef="c20170101to20171231_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U001" decimals="-3">0</us-gaap:DeferredTaxExpenseFromStockOptionsExercised>
  <!--Federal-->
  <us-gaap:DeferredFederalIncomeTaxExpenseBenefit id="Fact_250d4097fc6b4f3b8f5ddec5e767236b" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">1097000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
  <!--Federal-->
  <us-gaap:DeferredFederalIncomeTaxExpenseBenefit id="Fact_59259ed9a4ac40b4a30f6696cb134fc9" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">-205000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
  <!--Federal-->
  <us-gaap:DeferredFederalIncomeTaxExpenseBenefit id="Fact_b89b800713d84f2cb3adf743df7de8df" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">-117000</us-gaap:DeferredFederalIncomeTaxExpenseBenefit>
  <!--Deferred income tax (benefit) provision-->
  <us-gaap:DeferredIncomeTaxExpenseBenefit id="Fact_86e643b6fcee4aa9bdb57ed330fbae54" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">-294000</us-gaap:DeferredIncomeTaxExpenseBenefit>
  <!--Deferred income tax (benefit) provision-->
  <us-gaap:DeferredIncomeTaxExpenseBenefit id="Fact_8a9a505ce7eb4928a08392c18eb236ad" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">-107000</us-gaap:DeferredIncomeTaxExpenseBenefit>
  <!--Deferred income tax (benefit) provision-->
  <us-gaap:DeferredIncomeTaxExpenseBenefit id="Fact_e987bc5d20a14bf192baff3774be924a" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">1117000</us-gaap:DeferredIncomeTaxExpenseBenefit>
  <!--Foreign-->
  <us-gaap:DeferredForeignIncomeTaxExpenseBenefit id="Fact_3dd5a3a552ba42b0b28895c487534e54" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">-94000</us-gaap:DeferredForeignIncomeTaxExpenseBenefit>
  <!--Foreign-->
  <us-gaap:DeferredForeignIncomeTaxExpenseBenefit id="Fact_d3c33f06907a4c9888499183702af41c" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">0</us-gaap:DeferredForeignIncomeTaxExpenseBenefit>
  <!--Foreign-->
  <us-gaap:DeferredForeignIncomeTaxExpenseBenefit id="Fact_080dfbf2e6004b3bbc295c6cfa0750ed" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">0</us-gaap:DeferredForeignIncomeTaxExpenseBenefit>
  <!--Deferred rent, net of current portion-->
  <us-gaap:DeferredRentCredit id="Fact_b695d34215174a818bd541c446740caf" contextRef="c20191231" unitRef="U001" decimals="-3">0</us-gaap:DeferredRentCredit>
  <!--Deferred rent, net of current portion-->
  <us-gaap:DeferredRentCredit id="Fact_f6427f4e1e3e48549de6716a99b77357" contextRef="c20181231" unitRef="U001" decimals="-3">250000</us-gaap:DeferredRentCredit>
  <!--Deferred Tax Assets, Deferred Income-->
  <us-gaap:DeferredTaxAssetsDeferredIncome id="Fact_678872d793f64710b7db3e84507faa09" contextRef="c20191231" unitRef="U001" decimals="-3">58000</us-gaap:DeferredTaxAssetsDeferredIncome>
  <!--Deferred Tax Assets, Deferred Income-->
  <us-gaap:DeferredTaxAssetsDeferredIncome id="Fact_f61ce4d6cbaf4614a1cc48c4fcb9d620" contextRef="c20181231" unitRef="U001" decimals="-3">16000</us-gaap:DeferredTaxAssetsDeferredIncome>
  <!--Deferred Tax Assets, Gross-->
  <us-gaap:DeferredTaxAssetsGross id="Fact_8401edf9cd4c4aa5852d92ed985a160a" contextRef="c20181231" unitRef="U001" decimals="-3">2609000</us-gaap:DeferredTaxAssetsGross>
  <!--Deferred Tax Assets, Gross-->
  <us-gaap:DeferredTaxAssetsGross id="Fact_9864f012bdb94d2c8cd5db1e83637301" contextRef="c20191231" unitRef="U001" decimals="-3">3038000</us-gaap:DeferredTaxAssetsGross>
  <!--Inventory reserves-->
  <us-gaap:DeferredTaxAssetsInventory id="Fact_113d7fd0782e4fa1acd8389222c34a80" contextRef="c20191231" unitRef="U001" decimals="-3">916000</us-gaap:DeferredTaxAssetsInventory>
  <!--Inventory reserves-->
  <us-gaap:DeferredTaxAssetsInventory id="Fact_c2955910e8194a61a2a04d9ca30bd484" contextRef="c20181231" unitRef="U001" decimals="-3">879000</us-gaap:DeferredTaxAssetsInventory>
  <!--Deferred Tax Assets, Net-->
  <us-gaap:DeferredTaxAssetsLiabilitiesNet id="Fact_468c9735f8074ec780f15db34e665298" contextRef="c20191231" unitRef="U001" decimals="-3">2565000</us-gaap:DeferredTaxAssetsLiabilitiesNet>
  <!--Deferred Tax Assets, Net-->
  <us-gaap:DeferredTaxAssetsLiabilitiesNet id="Fact_d7c841895d8b42d59cd05ee86474d1ba" contextRef="c20181231" unitRef="U001" decimals="-3">2198000</us-gaap:DeferredTaxAssetsLiabilitiesNet>
  <!--State-->
  <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit id="Fact_1390504f8d4a4540bada0c4b89e22585" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">5000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
  <!--State-->
  <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit id="Fact_3dde9e51e98346b8a46481a627aab98f" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">20000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
  <!--State-->
  <us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit id="Fact_ed77139260254fe69451ef9adfe10e69" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">10000</us-gaap:DeferredStateAndLocalIncomeTaxExpenseBenefit>
  <!--Deferred Tax Assets, Net of Valuation Allowance-->
  <us-gaap:DeferredTaxAssetsNet id="Fact_0b3cff6d84184333bf81236d8814631e" contextRef="c20191231" unitRef="U001" decimals="-3">2594000</us-gaap:DeferredTaxAssetsNet>
  <!--Deferred Tax Assets, Net of Valuation Allowance-->
  <us-gaap:DeferredTaxAssetsNet id="Fact_33fdd7677f954b9abbfe3eedcad9de9f" contextRef="c20181231" unitRef="U001" decimals="-3">2219000</us-gaap:DeferredTaxAssetsNet>
  <!--Foreign net operating losses-->
  <us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsForeign id="Fact_07fe6bd68836468bb7c7d9e4749db9ef" contextRef="c20181231" unitRef="U001" decimals="-3">390000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsForeign>
  <!--Foreign net operating losses-->
  <us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsForeign id="Fact_9962348ae0f745c29f77d440901e5679" contextRef="c20191231" unitRef="U001" decimals="-3">538000</us-gaap:DeferredTaxAssetsOperatingLossCarryforwardsForeign>
  <!--R&D credit carryforward-->
  <us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch id="Fact_c5b5edd87fb64ebdbbd128edc77a3495" contextRef="c20181231" unitRef="U001" decimals="-3">0</us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch>
  <!--R&D credit carryforward-->
  <us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch id="Fact_d95d518b43e74545b96c56076f4ef378" contextRef="c20191231" unitRef="U001" decimals="-3">111000</us-gaap:DeferredTaxAssetsTaxCreditCarryforwardsResearch>
  <!--Other liabilities and reserves-->
  <us-gaap:DeferredTaxAssetsOther id="Fact_a9335829a751492a9277ab480b128aa4" contextRef="c20191231" unitRef="U001" decimals="-3">276000</us-gaap:DeferredTaxAssetsOther>
  <!--Other liabilities and reserves-->
  <us-gaap:DeferredTaxAssetsOther id="Fact_d84a0f8f39d9439f80a76418b2ecb619" contextRef="c20181231" unitRef="U001" decimals="-3">278000</us-gaap:DeferredTaxAssetsOther>
  <!--Other accrued compensation-->
  <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation id="Fact_60f2ee244888462a834113ba887c24a1" contextRef="c20181231" unitRef="U001" decimals="-3">233000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation>
  <!--Other accrued compensation-->
  <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation id="Fact_c1c4257eee6246d9b2faababf5c4cbe1" contextRef="c20191231" unitRef="U001" decimals="-3">226000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsEmployeeCompensation>
  <!--Deferred Tax Liabilities, Net-->
  <us-gaap:DeferredTaxLiabilities id="Fact_c1030213ca33468387dafaf7f08d42a7" contextRef="c20191231" unitRef="U001" decimals="-3">29000</us-gaap:DeferredTaxLiabilities>
  <!--Deferred Tax Liabilities, Net-->
  <us-gaap:DeferredTaxLiabilities id="Fact_e1550338e57c49e997dacc75a59162a3" contextRef="c20181231" unitRef="U001" decimals="-3">21000</us-gaap:DeferredTaxLiabilities>
  <!--Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Legal Settlements-->
  <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLegalSettlements id="Fact_6ae9171bd38c40c892d66264c92c1daf" contextRef="c20181231" unitRef="U001" decimals="-3">71000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLegalSettlements>
  <!--Deferred Tax Assets, Tax Deferred Expense, Reserves and Accruals, Legal Settlements-->
  <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLegalSettlements id="Fact_d0ea51a0e80749e184566f3e55f64e9b" contextRef="c20191231" unitRef="U001" decimals="-3">165000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsLegalSettlements>
  <!--Stock compensation expense-->
  <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost id="Fact_17ab2e23eee2460cbf473e1381fa3681" contextRef="c20191231" unitRef="U001" decimals="-3">701000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
  <!--Stock compensation expense-->
  <us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost id="Fact_a380d42434494f0381a81feec4bb300e" contextRef="c20181231" unitRef="U001" decimals="-3">682000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseCompensationAndBenefitsShareBasedCompensationCost>
  <!--Warranty reserve-->
  <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves id="Fact_0b5e87a1652a40118744149a5c1241b4" contextRef="c20181231" unitRef="U001" decimals="-3">60000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves>
  <!--Warranty reserve-->
  <us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves id="Fact_b4459d990e82493bb9c39f151de4c8a3" contextRef="c20191231" unitRef="U001" decimals="-3">47000</us-gaap:DeferredTaxAssetsTaxDeferredExpenseReservesAndAccrualsWarrantyReserves>
  <!--Deferred Tax Assets, Valuation Allowance-->
  <us-gaap:DeferredTaxAssetsValuationAllowance id="Fact_d0211739ffcf42678a54344c39f45e5f" contextRef="c20181231" unitRef="U001" decimals="-3">390000</us-gaap:DeferredTaxAssetsValuationAllowance>
  <!--Deferred Tax Assets, Valuation Allowance-->
  <us-gaap:DeferredTaxAssetsValuationAllowance id="Fact_e45413f435664550bc6c78356f5c86b9" contextRef="c20191231" unitRef="U001" decimals="-3">444000</us-gaap:DeferredTaxAssetsValuationAllowance>
  <!--Deferred Tax Liabilities, Other-->
  <us-gaap:DeferredTaxLiabilitiesOther id="Fact_9ea64b77563c478f9e3d023f72f32a98" contextRef="c20181231" unitRef="U001" decimals="-3">21000</us-gaap:DeferredTaxLiabilitiesOther>
  <!--Deferred Tax Liabilities, Other-->
  <us-gaap:DeferredTaxLiabilitiesOther id="Fact_d3f607b2fe2744aba0165f07e84c4dc8" contextRef="c20191231" unitRef="U001" decimals="-3">29000</us-gaap:DeferredTaxLiabilitiesOther>
  <!--Employee's contribution percentage for match-->
  <us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent id="Fact_656ddf78e3974d539f9096e316270d4b" contextRef="c20190101to20191231" unitRef="U006" decimals="INF">0.06</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercent>
  <!--Employer matching contribution percentage-->
  <us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch id="Fact_23548023eebb4bb48d32bbba9a7baf53" contextRef="c20190101to20191231" unitRef="U006" decimals="INF">0.5</us-gaap:DefinedContributionPlanEmployerMatchingContributionPercentOfMatch>
  <!--Amount of matching contribution-->
  <us-gaap:DefinedContributionPlanCostRecognized id="Fact_0c3b8eed40cf4d4a8e8478c877a6daf4" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">264000</us-gaap:DefinedContributionPlanCostRecognized>
  <!--Amount of matching contribution-->
  <us-gaap:DefinedContributionPlanCostRecognized id="Fact_4566b661120d41bf95ec13e8803bd2ef" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">237000</us-gaap:DefinedContributionPlanCostRecognized>
  <!--Amount of matching contribution-->
  <us-gaap:DefinedContributionPlanCostRecognized id="Fact_a53904b042044488becd8fb29d8d1b76" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">305000</us-gaap:DefinedContributionPlanCostRecognized>
  <!--Depreciation, Depletion and Amortization, Nonproduction-->
  <us-gaap:DepreciationAndAmortization id="Fact_64c006cf7015417d9ee7d02f32926e4b" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">997000</us-gaap:DepreciationAndAmortization>
  <!--Depreciation, Depletion and Amortization, Nonproduction-->
  <us-gaap:DepreciationAndAmortization id="Fact_8ae7181b269d432dba5468cd354c04ef" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">1081000</us-gaap:DepreciationAndAmortization>
  <!--Depreciation, Depletion and Amortization, Nonproduction-->
  <us-gaap:DepreciationAndAmortization id="Fact_fa58e01b5432456c9f6863e01121c891" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">1371000</us-gaap:DepreciationAndAmortization>
  <!--Depreciation expense-->
  <us-gaap:Depreciation id="Fact_a35d182889484eee87822d45e45b86c7" contextRef="c20180101to20181231" unitRef="U001" decimals="-5">900000</us-gaap:Depreciation>
  <!--Depreciation expense-->
  <us-gaap:Depreciation id="Fact_ebc794dc86454f108b4a311573a879e5" contextRef="c20170101to20171231" unitRef="U001" decimals="-5">800000</us-gaap:Depreciation>
  <!--Depreciation expense-->
  <us-gaap:Depreciation id="Fact_ffdfa1cf44464ef4a0f5652dc47cc5ae" contextRef="c20190101to20191231" unitRef="U001" decimals="-5">1100000</us-gaap:Depreciation>
  <!--Stock incentive plans-->
  <us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock id="Fact_0d40cb02999d44ac9fbb3b6891426f38" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;10. Stock incentive plans&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Stock incentive plans&lt;/font&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;"&gt;.&lt;/font&gt;&amp;#160;&amp;#160;We currently have two primary stock incentive plans: the 2005 Equity Incentive Plan and 2014 Equity Incentive Plan, which provide for awards to executives, key employees, directors and consultants.&amp;#160;&amp;#160;The plans generally provide for awards in the form of: (i) incentive stock options, (ii) non-qualified stock options, (iii) restricted stock, (iv) restricted stock units (which may include performance-based vesting), (v) stock appreciation rights or (vi) limited stock appreciation rights.&amp;#160;&amp;#160;Awards granted under these plans have exercise prices equal to 100% of the fair market value of the common stock at the date of grant.&amp;#160; Awards granted have a ten years-year term and generally vest over a two year- to five year period, unless automatically accelerated for certain defined events.&amp;#160;&amp;#160;As of May 2014, no new awards were made under the 2005 Equity Incentive Plan.&amp;#160;&amp;#160;Under our 2014 Equity Incentive Plan, we are authorized to grant awards of up to 1,400,000 shares of TransAct common stock.&amp;#160;&amp;#160;At December 31, 2019, 332,541 shares of common stock remained available for issuance under the 2014 Equity Incentive Plan.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Under the assumptions indicated below, the weighted-average per share fair value of stock option grants for 2019, 2018, and 2017 was $3.01, $4.38 and $1.95, respectively.&amp;#160;&amp;#160;We also issued restricted stock units for certain executives and directors that vest over a specified period of time, and in some instances require achieving certain performance metrics.&amp;#160; The weighted-average per share fair value of these restricted stock units was $10.46, $12.91 and $7.53 in 2019, 2018 and 2017 respectively.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The table below indicates the key assumptions used in the option valuation calculations for options granted in 2019, 2018, and 2017 and a discussion of our methodology for developing each of the assumptions used in the valuation model:&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="10" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Year Ended December 31,&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2019&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2018&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2017&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Expected option term (in years)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6.8&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6.8&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6.8&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Expected volatility&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;38.8&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;38.0&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;36.2&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Risk-free interest rate&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2.6&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2.7&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2.1&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Dividend yield&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3.5&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2.6&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4.3&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Expected Option Term&lt;/font&gt; - This is the weighted average period of time over which the options granted are expected to remain outstanding giving consideration to our historical exercise patterns.&amp;#160;&amp;#160;Options granted have a maximum term of ten years and an increase in the expected term will increase compensation expense.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Expected Volatility&lt;/font&gt; &amp;#8211; The stock volatility for each grant is measured using the weighted average of historical daily price changes of our common stock over the most recent period approximately equal to the expected option term of the grant.&amp;#160;&amp;#160;An increase in the expected volatility factor will increase compensation expense.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Risk-Free Interest Rate&lt;/font&gt; - This is the U.S. Treasury rate in effect at the time of grant having a term approximately equal to the expected term of the option.&amp;#160;&amp;#160;An increase in the risk-free interest rate will increase compensation expense.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Dividend Yield&lt;/font&gt; &amp;#8211;The dividend yield is calculated by dividing the annual dividend declared per common share by the weighted average market value of our common stock on the date of grant. An increase in the dividend yield will decrease compensation expense.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;For 2019, 2018, and 2017, we recorded $692 thousand, $629 thousand, and $609 thousand of share-based compensation expense, respectively, included primarily in general and administrative expense in our Consolidated Statements of Income.&amp;#160;&amp;#160;We also recorded income tax benefits of $152 thousand, $138 thousand, and $134 thousand in 2019, 2018, and 2017 respectively, related to such share-based compensation.&amp;#160;&amp;#160;At December 31, 2019, these benefits are recorded as a deferred tax asset in the Consolidated Balance Sheets.&lt;/div&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Equity award activity in the 2005 Equity Incentive Plan and 2014 Equity Incentive Plan is summarized below:&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="6" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Stock Options&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="6" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Restricted Stock Units&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Number of Shares&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Average Price*&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Number of Units&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Average Price**&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Outstanding at December 31, 2018&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,004,293&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;9.00&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;98,600&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;9.82&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Granted&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;180,675&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;10.31&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;58,050&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;10.44&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Exercised&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#8211;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#8211;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(45,167&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;9.16&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Forfeited&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(36,625&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;8.72&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(20,908&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;12.12&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 52%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Expired&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(5,875&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6.05&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#8211;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#8211;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 52%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Outstanding at December 31, 2019&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,142,468&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;9.23&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;90,575&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;10.46&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: left; line-height: 10.25pt;"&gt;&lt;div&gt;&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;"&gt;&lt;tr&gt;&lt;td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;*&lt;/td&gt;&lt;td style="width: auto; vertical-align: top; text-align: left;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;weighted average exercise price per share&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: left; line-height: 10.25pt;"&gt;&lt;div&gt;&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;"&gt;&lt;tr&gt;&lt;td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;**&lt;/td&gt;&lt;td style="width: auto; vertical-align: top; text-align: left;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;weighted-average grant stock price per share&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The following summarizes information about equity awards outstanding that are vested and expect to vest and equity awards that are exercisable at December 31, 2019:&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="14" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Equity Awards Vested and Expected to Vest&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="14" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Equity Awards That Are Exercisable&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Awards&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Average Price*&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Aggregate Intrinsic Value&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Remaining Term**&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Awards&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Average Price*&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Aggregate Intrinsic Value&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Remaining Term**&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 20%; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Stock Options&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,142,468&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;9.23&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,441&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5.7&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;730,500&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;8.62&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,888&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4.1&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 20%; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Restricted stock units&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;90,575&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#8211;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;994&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2.5&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#8211;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#8211;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#8211;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#8211;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: left; line-height: 10.25pt;"&gt;&lt;div&gt;&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;"&gt;&lt;tr&gt;&lt;td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;*&lt;/td&gt;&lt;td style="width: auto; vertical-align: top; text-align: left;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;weighted average exercise price per share&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: left; line-height: 10.25pt;"&gt;&lt;div&gt;&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;"&gt;&lt;tr&gt;&lt;td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;**&lt;/td&gt;&lt;td style="width: auto; vertical-align: top; text-align: left;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;weighted-average contractual remaining term in years&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Shares that are issued upon exercise of employee stock awards are newly issued shares and not issued from treasury stock.&amp;#160;&amp;#160;As of December 31, 2019, unrecognized compensation cost related to non-vested equity awards granted under our stock incentive plans is approximately $1.5 million, which is expected to be recognized over a weighted average period of 2.1 years.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The total fair value of awards vested during the years ended December 31, 2019, 2018, and 2017 was $1.6 million, $1.1 million, and $1.1 million, respectively.&amp;#160; The total intrinsic value (which is the amount by which the stock price exceeded the exercise price on the date of exercise) of stock options exercised during the years ended December 31, 2018, and 2017 was $280 thousand and $958 thousand, respectively.&amp;#160; No stock options were exercised during the year ended December 31, 2019.&amp;#160; Cash received from option exercises was $0.4 million and $1 million for 2018 and 2017, respectively.&amp;#160;&amp;#160;We recorded a realized tax benefit in 2018 and 2017 from equity-based awards of $17 thousand and $150 thousand, respectively, related to options exercised.&amp;#160; Upon adoption of ASU 2016-09 in 2017 tax benefits realized on stock options exercises are included in income tax expense and are no longer included as a component of cash flows.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:DisclosureOfCompensationRelatedCostsShareBasedPaymentsTextBlock>
  <!--Dividends, Common Stock, Cash-Treasury Stock [Member]-->
  <us-gaap:DividendsCommonStockCash id="Fact_031ef9ba7c714ad8bb13ccdaff5f53bb" contextRef="c20190101to20191231_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U001" decimals="-3">0</us-gaap:DividendsCommonStockCash>
  <!--Dividends, Common Stock, Cash-Retained Earnings [Member]-->
  <us-gaap:DividendsCommonStockCash id="Fact_2369f1710e9141508647d7ef2adb7e68" contextRef="c20190101to20191231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3">2683000</us-gaap:DividendsCommonStockCash>
  <!--Dividends, Common Stock, Cash-Common Stock [Member]-->
  <us-gaap:DividendsCommonStockCash id="Fact_2d201dacefd244568b6d215d3e62144c" contextRef="c20190101to20191231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3">0</us-gaap:DividendsCommonStockCash>
  <!--Dividends, Common Stock, Cash-->
  <us-gaap:DividendsCommonStockCash id="Fact_405de4e428844e5c91c172bf1e0361a7" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">2667000</us-gaap:DividendsCommonStockCash>
  <!--Dividends, Common Stock, Cash-Retained Earnings [Member]-->
  <us-gaap:DividendsCommonStockCash id="Fact_42f2b80987c048878bb3cb0e6c9cd6b1" contextRef="c20180101to20181231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3">2667000</us-gaap:DividendsCommonStockCash>
  <!--Dividends, Common Stock, Cash-Treasury Stock [Member]-->
  <us-gaap:DividendsCommonStockCash id="Fact_4c05f10df68343bf9d08f77bb785479b" contextRef="c20180101to20181231_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U001" decimals="-3">0</us-gaap:DividendsCommonStockCash>
  <!--Dividends, Common Stock, Cash-AOCI Attributable to Parent [Member]-->
  <us-gaap:DividendsCommonStockCash id="Fact_677863d098164da4aba267ddc2539f36" contextRef="c20180101to20181231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3">0</us-gaap:DividendsCommonStockCash>
  <!--Dividends, Common Stock, Cash-Additional Paid-in Capital [Member]-->
  <us-gaap:DividendsCommonStockCash id="Fact_7a4b08b2cdab46398be54e55b3e1cae2" contextRef="c20170101to20171231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3">0</us-gaap:DividendsCommonStockCash>
  <!--Dividends, Common Stock, Cash-AOCI Attributable to Parent [Member]-->
  <us-gaap:DividendsCommonStockCash id="Fact_7db31b5daf884a5e98b93735fcd356df" contextRef="c20190101to20191231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3">0</us-gaap:DividendsCommonStockCash>
  <!--Dividends, Common Stock, Cash-->
  <us-gaap:DividendsCommonStockCash id="Fact_a271c980667a45c69fe1ce7448ca5855" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">2581000</us-gaap:DividendsCommonStockCash>
  <!--Dividends, Common Stock, Cash-Treasury Stock [Member]-->
  <us-gaap:DividendsCommonStockCash id="Fact_bed07cc42ed84da7b5fa7fc55324e119" contextRef="c20170101to20171231_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U001" decimals="-3">0</us-gaap:DividendsCommonStockCash>
  <!--Dividends, Common Stock, Cash-Common Stock [Member]-->
  <us-gaap:DividendsCommonStockCash id="Fact_c1508ce70c8f49cebf510a21d43ee673" contextRef="c20180101to20181231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3">0</us-gaap:DividendsCommonStockCash>
  <!--Dividends, Common Stock, Cash-AOCI Attributable to Parent [Member]-->
  <us-gaap:DividendsCommonStockCash id="Fact_e60050df93f24a3382d9bee8e247fe6f" contextRef="c20170101to20171231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3">0</us-gaap:DividendsCommonStockCash>
  <!--Dividends, Common Stock, Cash-Common Stock [Member]-->
  <us-gaap:DividendsCommonStockCash id="Fact_e6c5948b735a4194973d345d631e8280" contextRef="c20170101to20171231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3">0</us-gaap:DividendsCommonStockCash>
  <!--Dividends, Common Stock, Cash-->
  <us-gaap:DividendsCommonStockCash id="Fact_ecbf5881d3b047a1b7422329804566b9" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">2683000</us-gaap:DividendsCommonStockCash>
  <!--Dividends, Common Stock, Cash-Retained Earnings [Member]-->
  <us-gaap:DividendsCommonStockCash id="Fact_f0ea160cbe56472ba85d4393423dc4a0" contextRef="c20170101to20171231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3">2581000</us-gaap:DividendsCommonStockCash>
  <!--Dividends, Common Stock, Cash-Additional Paid-in Capital [Member]-->
  <us-gaap:DividendsCommonStockCash id="Fact_f0fe0e9a5a3e4b85adae6dae566a4853" contextRef="c20190101to20191231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3">0</us-gaap:DividendsCommonStockCash>
  <!--Dividends, Common Stock, Cash-Additional Paid-in Capital [Member]-->
  <us-gaap:DividendsCommonStockCash id="Fact_ff501acc98924fb2aa933e6f1436042d" contextRef="c20180101to20181231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3">0</us-gaap:DividendsCommonStockCash>
  <!--Earnings per share-->
  <us-gaap:EarningsPerShareTextBlock id="Fact_c3ae7230bbf44ae09379c51392d1c517" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;12. Earnings per share&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;For 2019, 2018, and 2017, earnings per share was computed as follows (in thousands, except per share amounts):&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="10" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Year Ended December 31,&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2019&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2018&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2017&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net income&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;516&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,426&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,211&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Shares:&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Basic:&amp;#160;&amp;#160;Weighted average common shares outstanding&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,466&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,444&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,423&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Add:&amp;#160;&amp;#160;Dilutive effect of outstanding equity awards as determined by the treasury stock method&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;211&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;315&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;169&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Diluted:&amp;#160;&amp;#160;Weighted average common and common equivalent shares outstanding&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,677&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,759&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,592&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net income per common share:&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Basic&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.07&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.73&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.43&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Diluted&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.07&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.70&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.42&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The computation of diluted earnings per share excludes the effect of the potential exercise of stock awards, including stock options, restricted stock units and performance stock awards, when the average market price of the common stock is lower than the exercise price of the related stock award during the period.&amp;#160;&amp;#160;These outstanding stock awards are not included in the computation of diluted earnings per share because the effect would be anti-dilutive.&amp;#160;&amp;#160;Anti-dilutive stock awards excluded from the computation of earnings per dilutive share were 447,000, 149,000 and 341,000, at December 31, 2019, 2018 and 2017 respectively.&amp;#160;&amp;#160;&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:EarningsPerShareTextBlock>
  <!--Earnings Per Share, Diluted-->
  <us-gaap:EarningsPerShareDiluted id="Fact_46e2d636031f4a02a1ca8a90655647ae" contextRef="c20170101to20171231" unitRef="U003" decimals="2">0.42</us-gaap:EarningsPerShareDiluted>
  <!--Earnings Per Share, Diluted-->
  <us-gaap:EarningsPerShareDiluted id="Fact_d4fa5e4fa1bf4dfc821de9c46acd15d5" contextRef="c20190101to20191231" unitRef="U003" decimals="2">0.07</us-gaap:EarningsPerShareDiluted>
  <!--Earnings Per Share, Diluted-->
  <us-gaap:EarningsPerShareDiluted id="Fact_d5aedf75e7c545ef94fbc3dbd8cd3268" contextRef="c20180101to20181231" unitRef="U003" decimals="2">0.70</us-gaap:EarningsPerShareDiluted>
  <!--Earnings Per Share, Diluted-->
  <us-gaap:EarningsPerShareDiluted id="Fact_7ccbe0f33c514778b745ffffbdf55b5a" contextRef="c20190701to20190930" unitRef="U003" decimals="2">0.05</us-gaap:EarningsPerShareDiluted>
  <!--Earnings Per Share, Diluted-->
  <us-gaap:EarningsPerShareDiluted id="Fact_8279bbda1c744b2d87de3e8b6a92c78f" contextRef="c20190401to20190630" unitRef="U003" decimals="2">0.02</us-gaap:EarningsPerShareDiluted>
  <!--Earnings Per Share, Diluted-->
  <us-gaap:EarningsPerShareDiluted id="Fact_926d19358569407bb841ea1fec2a5ca7" contextRef="c20180701to20180930" unitRef="U003" decimals="2">0.33</us-gaap:EarningsPerShareDiluted>
  <!--Earnings Per Share, Diluted-->
  <us-gaap:EarningsPerShareDiluted id="Fact_a2a0d2064fdf42d8b23d66bbe39c988d" contextRef="c20180401to20180630" unitRef="U003" decimals="2">0.16</us-gaap:EarningsPerShareDiluted>
  <!--Earnings Per Share, Diluted-->
  <us-gaap:EarningsPerShareDiluted id="Fact_dab09cf694834b179a2b086544899336" contextRef="c20181001to20181231" unitRef="U003" decimals="2">0.12</us-gaap:EarningsPerShareDiluted>
  <!--Earnings Per Share, Diluted-->
  <us-gaap:EarningsPerShareDiluted id="Fact_ee0e0da856ef41a28ba74f276cc10030" contextRef="c20191001to20191231" unitRef="U003" decimals="2">-0.11</us-gaap:EarningsPerShareDiluted>
  <!--Earnings Per Share, Diluted-->
  <us-gaap:EarningsPerShareDiluted id="Fact_f15c6c6149354d58b98dad1271ceb72f" contextRef="c20180101to20180331" unitRef="U003" decimals="2">0.09</us-gaap:EarningsPerShareDiluted>
  <!--Earnings Per Share, Diluted-->
  <us-gaap:EarningsPerShareDiluted id="Fact_f15cd09826e944c68bd894e66ad46f83" contextRef="c20190101to20190331" unitRef="U003" decimals="2">0.10</us-gaap:EarningsPerShareDiluted>
  <!--Basic (in dollars per share)-->
  <us-gaap:EarningsPerShareBasic id="Fact_61f6bcca990143d09766cebf7855fea2" contextRef="c20180101to20181231" unitRef="U003" decimals="2">0.73</us-gaap:EarningsPerShareBasic>
  <!--Basic (in dollars per share)-->
  <us-gaap:EarningsPerShareBasic id="Fact_9ab3dc70252c49949aae0f578a591698" contextRef="c20190101to20191231" unitRef="U003" decimals="2">0.07</us-gaap:EarningsPerShareBasic>
  <!--Basic (in dollars per share)-->
  <us-gaap:EarningsPerShareBasic id="Fact_bec55fa2947b4570959e7a2955bff7d2" contextRef="c20170101to20171231" unitRef="U003" decimals="2">0.43</us-gaap:EarningsPerShareBasic>
  <!--Basic (in dollars per share)-->
  <us-gaap:EarningsPerShareBasic id="Fact_0b4a1d2db65d45bcb9a6da137d414988" contextRef="c20191001to20191231" unitRef="U003" decimals="2">-0.11</us-gaap:EarningsPerShareBasic>
  <!--Basic (in dollars per share)-->
  <us-gaap:EarningsPerShareBasic id="Fact_11918617a3f74b4aa4f935021e459ae9" contextRef="c20190701to20190930" unitRef="U003" decimals="2">0.05</us-gaap:EarningsPerShareBasic>
  <!--Basic (in dollars per share)-->
  <us-gaap:EarningsPerShareBasic id="Fact_14b34aa74a9b4cbfa3f3006eded3f572" contextRef="c20190401to20190630" unitRef="U003" decimals="2">0.02</us-gaap:EarningsPerShareBasic>
  <!--Basic (in dollars per share)-->
  <us-gaap:EarningsPerShareBasic id="Fact_42f6618e29e8489bb2290d33ee683ac8" contextRef="c20180401to20180630" unitRef="U003" decimals="2">0.16</us-gaap:EarningsPerShareBasic>
  <!--Basic (in dollars per share)-->
  <us-gaap:EarningsPerShareBasic id="Fact_474882950d9441ceb2d2644b81f03dee" contextRef="c20180101to20180331" unitRef="U003" decimals="2">0.09</us-gaap:EarningsPerShareBasic>
  <!--Basic (in dollars per share)-->
  <us-gaap:EarningsPerShareBasic id="Fact_7389979136eb460da44a25102aec4572" contextRef="c20181001to20181231" unitRef="U003" decimals="2">0.13</us-gaap:EarningsPerShareBasic>
  <!--Basic (in dollars per share)-->
  <us-gaap:EarningsPerShareBasic id="Fact_a833870833a94d0d8dcb49cf7845ff96" contextRef="c20180701to20180930" unitRef="U003" decimals="2">0.35</us-gaap:EarningsPerShareBasic>
  <!--Basic (in dollars per share)-->
  <us-gaap:EarningsPerShareBasic id="Fact_abf7e3046ce54a75bae2b18bd94b36b5" contextRef="c20190101to20190331" unitRef="U003" decimals="2">0.10</us-gaap:EarningsPerShareBasic>
  <!--Net income and loss per share-->
  <us-gaap:EarningsPerSharePolicyTextBlock id="Fact_837d7167894345dcb289de9105c548a6" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Net income and loss per share:&lt;/font&gt;&amp;#160;&amp;#160;We report net income or loss per share in accordance with ASC 260, &amp;#8220;Earnings per Share (EPS).&amp;#8221; Under this guidance, basic EPS, which excludes dilution, is computed by dividing income or loss available to common shareholders by the weighted average number of common shares outstanding for the period.&amp;#160;&amp;#160;Diluted EPS reflects the potential dilution that could occur if securities or other contracts to issue common stock were exercised or converted into common stock.&amp;#160;&amp;#160;Diluted EPS includes in-the-money stock options using the treasury stock method.&amp;#160;&amp;#160;During a loss period, the assumed exercise of in-the-money stock options has an anti-dilutive effect, and therefore, these instruments are excluded from the computation of dilutive EPS.&amp;#160;&amp;#160;See Note 11 - Earnings per share.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:EarningsPerSharePolicyTextBlock>
  <!--Effect of exchange rate changes on cash and cash equivalents-->
  <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents id="Fact_9b5b1967aa9d4c9ca196d777371a91b6" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">64000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
  <!--Effect of exchange rate changes on cash and cash equivalents-->
  <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents id="Fact_b3bbd569521b43bb9d01110281e9e353" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">-10000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
  <!--Effect of exchange rate changes on cash and cash equivalents-->
  <us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents id="Fact_fec89276615d4875b2a39ce465fa67fd" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">-71000</us-gaap:EffectOfExchangeRateOnCashCashEquivalentsRestrictedCashAndRestrictedCashEquivalents>
  <!--Valuation allowance and tax accruals-->
  <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance id="Fact_bf4a338166874da3a2e2591727db5b23" contextRef="c20170101to20171231" unitRef="U006" decimals="3">0.016</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
  <!--Valuation allowance and tax accruals-->
  <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance id="Fact_cab7501f89454b5499fab38c347e9023" contextRef="c20180101to20181231" unitRef="U006" decimals="3">0.010</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
  <!--Valuation allowance and tax accruals-->
  <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance id="Fact_fad51867e5564e63bd72b139d4a0ff0b" contextRef="c20190101to20191231" unitRef="U006" decimals="3">0.148</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInDeferredTaxAssetsValuationAllowance>
  <!--Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent-->
  <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate id="Fact_1fa71b76a7fb431ba1d88e45d0e4210c" contextRef="c20190101to20191231" unitRef="U006" decimals="INF">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
  <!--Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent-Maximum [Member]-->
  <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate id="Fact_6592c22315364782bd916975888df6cd" contextRef="c20170101to20171231_RangeAxis_MaximumMember" unitRef="U006" decimals="INF">0.35</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
  <!--Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent-->
  <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate id="Fact_0215a96b96cc4739b68ed04d84f03f29" contextRef="c20180101to20181231" unitRef="U006" decimals="INF">0.21</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
  <!--Effective Income Tax Rate Reconciliation, at Federal Statutory Income Tax Rate, Percent-->
  <us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate id="Fact_c479e36b5dab48a9b7f40ae3975041a8" contextRef="c20170101to20171231" unitRef="U006" decimals="INF">0.340</us-gaap:EffectiveIncomeTaxRateReconciliationAtFederalStatutoryIncomeTaxRate>
  <!--Effective Income Tax Rate Reconciliation, Tax Contingency, Percent-->
  <us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies id="Fact_3690a9cc2bb64797a9bfdaa176e5f68e" contextRef="c20190101to20191231" unitRef="U006" decimals="3">-0.010</us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies>
  <!--Effective Income Tax Rate Reconciliation, Tax Contingency, Percent-->
  <us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies id="Fact_6c824e351ac94ed7a0abc467f385f970" contextRef="c20180101to20181231" unitRef="U006" decimals="3">0.000</us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies>
  <!--Effective Income Tax Rate Reconciliation, Tax Contingency, Percent-->
  <us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies id="Fact_6dff0a29c8034655a586be3b7cdda875" contextRef="c20170101to20171231" unitRef="U006" decimals="3">0.001</us-gaap:EffectiveIncomeTaxRateReconciliationTaxContingencies>
  <!--U.S. corporate tax rate change-->
  <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate id="Fact_044c71c346c94e38946a4aa80c58b20b" contextRef="c20190101to20191231" unitRef="U006" decimals="3">0.000</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate>
  <!--U.S. corporate tax rate change-->
  <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate id="Fact_75f0c2bbd1ff4527be3ccdd31ef0a66b" contextRef="c20180101to20181231" unitRef="U006" decimals="3">0.000</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate>
  <!--U.S. corporate tax rate change-->
  <us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate id="Fact_af0b6c147cb84bb7a70577d5d9a65f1c" contextRef="c20170101to20171231" unitRef="U006" decimals="3">0.194</us-gaap:EffectiveIncomeTaxRateReconciliationChangeInEnactedTaxRate>
  <!--State income taxes, net of federal income taxes-->
  <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes id="Fact_2b960d8127bf46b9a8e1c2a635f5e139" contextRef="c20170101to20171231" unitRef="U006" decimals="3">0.013</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
  <!--State income taxes, net of federal income taxes-->
  <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes id="Fact_8e8ffef2355e443489bb316249734cb2" contextRef="c20190101to20191231" unitRef="U006" decimals="3">0.120</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
  <!--State income taxes, net of federal income taxes-->
  <us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes id="Fact_e4998a1c6b294ecd91de20dd7fedff93" contextRef="c20180101to20181231" unitRef="U006" decimals="3">0.012</us-gaap:EffectiveIncomeTaxRateReconciliationStateAndLocalIncomeTaxes>
  <!--Business meals and entertainment-->
  <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment id="Fact_4ebe8fc622dd4908b19933166dff2002" contextRef="c20170101to20171231" unitRef="U006" decimals="3">0.004</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment>
  <!--Business meals and entertainment-->
  <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment id="Fact_c3a3a684023b4d8d8432e638fd1bc574" contextRef="c20190101to20191231" unitRef="U006" decimals="3">0.054</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment>
  <!--Business meals and entertainment-->
  <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment id="Fact_f3255be188c04efbb562c314202e75cb" contextRef="c20180101to20181231" unitRef="U006" decimals="3">0.004</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseMealsAndEntertainment>
  <!--Stock option cancellations-->
  <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost id="Fact_12d33dc093124c72a22460caba504410" contextRef="c20170101to20171231" unitRef="U006" decimals="3">0.017</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost>
  <!--Stock option cancellations-->
  <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost id="Fact_a3fc6a23f7e84fef9ad01e6ea91b05f0" contextRef="c20190101to20191231" unitRef="U006" decimals="3">0.008</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost>
  <!--Stock option cancellations-->
  <us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost id="Fact_aa22884c0eaf45608c9f4e65d7a71d91" contextRef="c20180101to20181231" unitRef="U006" decimals="3">0.000</us-gaap:EffectiveIncomeTaxRateReconciliationNondeductibleExpenseShareBasedCompensationCost>
  <!--Effective Income Tax Rate Reconciliation, Tax Expense (Benefit), Share-based Payment Arrangement, Percent-->
  <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent id="Fact_17989e1e5d7140578adc5a7d20c054e2" contextRef="c20170101to20171231" unitRef="U006" decimals="3">-0.014</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent>
  <!--Effective Income Tax Rate Reconciliation, Tax Expense (Benefit), Share-based Payment Arrangement, Percent-->
  <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent id="Fact_5bfc08e40b164ef4862cfce0d2ef4fc8" contextRef="c20190101to20191231" unitRef="U006" decimals="3">-0.084</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent>
  <!--Effective Income Tax Rate Reconciliation, Tax Expense (Benefit), Share-based Payment Arrangement, Percent-->
  <us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent id="Fact_aac8be098e774700b8ab82b77d5d390b" contextRef="c20180101to20181231" unitRef="U006" decimals="3">-0.015</us-gaap:EffectiveIncomeTaxRateReconciliationShareBasedCompensationExcessTaxBenefitPercent>
  <!--Effective Income Tax Rate Reconciliation, Other Adjustments, Percent-->
  <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments id="Fact_839479116aed499ca638037b6d8ee4b3" contextRef="c20180101to20181231" unitRef="U006" decimals="3">0.001</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
  <!--Effective Income Tax Rate Reconciliation, Other Adjustments, Percent-->
  <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments id="Fact_87e953c50bc74eaeb599304da60334bc" contextRef="c20170101to20171231" unitRef="U006" decimals="3">-0.001</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
  <!--Effective Income Tax Rate Reconciliation, Other Adjustments, Percent-->
  <us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments id="Fact_d402c2487890477c8697996c01c7aa3a" contextRef="c20190101to20191231" unitRef="U006" decimals="3">0.000</us-gaap:EffectiveIncomeTaxRateReconciliationOtherAdjustments>
  <!--Effective Income Tax Rate Reconciliation, Deduction, Extraterritorial Income Exclusion, Percent-->
  <us-gaap:EffectiveIncomeTaxRateReconciliationDeductionsExtraterritorialIncomeExclusion id="Fact_1218101e29494b0db07350697dfb7657" contextRef="c20170101to20171231" unitRef="U006" decimals="3">0.000</us-gaap:EffectiveIncomeTaxRateReconciliationDeductionsExtraterritorialIncomeExclusion>
  <!--Effective Income Tax Rate Reconciliation, Deduction, Extraterritorial Income Exclusion, Percent-->
  <us-gaap:EffectiveIncomeTaxRateReconciliationDeductionsExtraterritorialIncomeExclusion id="Fact_a3fb0c2de0f64416b8269c70ba869ba6" contextRef="c20180101to20181231" unitRef="U006" decimals="3">0.015</us-gaap:EffectiveIncomeTaxRateReconciliationDeductionsExtraterritorialIncomeExclusion>
  <!--Effective Income Tax Rate Reconciliation, Deduction, Extraterritorial Income Exclusion, Percent-->
  <us-gaap:EffectiveIncomeTaxRateReconciliationDeductionsExtraterritorialIncomeExclusion id="Fact_c0f1f854aa154c3abc718ca2a5be9906" contextRef="c20190101to20191231" unitRef="U006" decimals="3">0.054</us-gaap:EffectiveIncomeTaxRateReconciliationDeductionsExtraterritorialIncomeExclusion>
  <!--Effective Income Tax Rate Reconciliation, Percent-->
  <us-gaap:EffectiveIncomeTaxRateContinuingOperations id="Fact_8c70dd469a2e4452b8f144c75f56aae9" contextRef="c20190101to20191231" unitRef="U006" decimals="3">-0.406</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
  <!--Effective Income Tax Rate Reconciliation, Percent-->
  <us-gaap:EffectiveIncomeTaxRateContinuingOperations id="Fact_b038147282474403845f2d758263c302" contextRef="c20170101to20171231" unitRef="U006" decimals="3">0.526</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
  <!--Effective Income Tax Rate Reconciliation, Percent-->
  <us-gaap:EffectiveIncomeTaxRateContinuingOperations id="Fact_fa3c557341674ca299b356abd7519a4a" contextRef="c20180101to20181231" unitRef="U006" decimals="3">0.161</us-gaap:EffectiveIncomeTaxRateContinuingOperations>
  <!--Effective Income Tax Rate Reconciliation, Tax Credit, Research, Percent-->
  <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch id="Fact_0d8d65dfa4b04bf281f9bfe1759d95ba" contextRef="c20180101to20181231" unitRef="U006" decimals="3">0.049</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch>
  <!--Effective Income Tax Rate Reconciliation, Tax Credit, Research, Percent-->
  <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch id="Fact_0fb4f2d3b4c241baa23486f3712c41eb" contextRef="c20190101to20191231" unitRef="U006" decimals="3">0.832</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch>
  <!--Effective Income Tax Rate Reconciliation, Tax Credit, Research, Percent-->
  <us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch id="Fact_b02d101953b540ac8f8e59f9e96110ec" contextRef="c20170101to20171231" unitRef="U006" decimals="3">0.033</us-gaap:EffectiveIncomeTaxRateReconciliationTaxCreditsResearch>
  <!--Share-based Payment Arrangement, Expense, Tax Benefit-->
  <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense id="Fact_0ebba9e586964a64bcd615e1abb777f3" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">134000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
  <!--Share-based Payment Arrangement, Expense, Tax Benefit-->
  <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense id="Fact_7967e65f8e004f92811991a26eafdf05" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">152000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
  <!--Share-based Payment Arrangement, Expense, Tax Benefit-->
  <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense id="Fact_b7ea9413724f472689347877789b32ab" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">138000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromCompensationExpense>
  <!--Excess tax benefit in provision for income taxes-->
  <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions id="Fact_8db509846fa94be19b182dbd670284dc" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">150000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions>
  <!--Excess tax benefit in provision for income taxes-->
  <us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions id="Fact_b7c07137215043aa90c51a75fe69f197" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">17000</us-gaap:EmployeeServiceShareBasedCompensationTaxBenefitFromExerciseOfStockOptions>
  <!--Share-based Payment Arrangement, Nonvested Award, Option, Cost Not yet Recognized, Amount-->
  <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions id="Fact_30852b501cb04cd58f479ef8ad74fe41" contextRef="c20191231" unitRef="U001" decimals="-3">1481000</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedStockOptions>
  <!--Share-based Payment Arrangement, Nonvested Award, Cost Not yet Recognized, Period for Recognition-->
  <us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1 id="Fact_3404a8f2d78f413b82801daa2bc4e947" contextRef="c20190101to20191231">P2Y1M6D</us-gaap:EmployeeServiceShareBasedCompensationNonvestedAwardsTotalCompensationCostNotYetRecognizedPeriodForRecognition1>
  <!--Salaries and compensation related-->
  <us-gaap:EmployeeRelatedLiabilitiesCurrent id="Fact_03024262770442e39db165c5bddd9e33" contextRef="c20191231" unitRef="U001" decimals="-3">1541000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
  <!--Salaries and compensation related-->
  <us-gaap:EmployeeRelatedLiabilitiesCurrent id="Fact_c94ab268a7324d1386c987c452d50b46" contextRef="c20181231" unitRef="U001" decimals="-3">1817000</us-gaap:EmployeeRelatedLiabilitiesCurrent>
  <!--Excess Tax Benefit from Share-based Compensation, Financing Activities-->
  <us-gaap:ExcessTaxBenefitFromShareBasedCompensationFinancingActivities id="Fact_135bd41ac1a84d09841271b798c13a63" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">-265000</us-gaap:ExcessTaxBenefitFromShareBasedCompensationFinancingActivities>
  <!--Excess Tax Benefit from Share-based Compensation, Financing Activities-->
  <us-gaap:ExcessTaxBenefitFromShareBasedCompensationFinancingActivities id="Fact_78bed8c95abe4c4e9f83cf9fa4f35a91" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">-214000</us-gaap:ExcessTaxBenefitFromShareBasedCompensationFinancingActivities>
  <!--Excess Tax Benefit from Share-based Compensation, Financing Activities-->
  <us-gaap:ExcessTaxBenefitFromShareBasedCompensationFinancingActivities id="Fact_da19f06919c743c98c64a0a029b879d1" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">-23000</us-gaap:ExcessTaxBenefitFromShareBasedCompensationFinancingActivities>
  <!--Accrued product warranty liability, long-term-->
  <us-gaap:ExtendedProductWarrantyAccrualNoncurrent id="Fact_c266119ccbaf4db6a0e80eedbd98b27f" contextRef="c20191231" unitRef="U001" decimals="-3">41000</us-gaap:ExtendedProductWarrantyAccrualNoncurrent>
  <!--Accrued product warranty liability, long-term-->
  <us-gaap:ExtendedProductWarrantyAccrualNoncurrent id="Fact_d240614af7ac4c67838fc2badac87600" contextRef="c20181231" unitRef="U001" decimals="-3">81000</us-gaap:ExtendedProductWarrantyAccrualNoncurrent>
  <!--Accrued product warranty liability, current-->
  <us-gaap:ExtendedProductWarrantyAccrualCurrent id="Fact_2eda14ff37e240f7a39d5a5a0d5e1d96" contextRef="c20191231" unitRef="U001" decimals="-3">174000</us-gaap:ExtendedProductWarrantyAccrualCurrent>
  <!--Accrued product warranty liability, current-->
  <us-gaap:ExtendedProductWarrantyAccrualCurrent id="Fact_b1d91da23e994bedb232c98054a7cc49" contextRef="c20181231" unitRef="U001" decimals="-3">192000</us-gaap:ExtendedProductWarrantyAccrualCurrent>
  <!--Extended Product Warranty Accrual, Increase for Warranties Issued-->
  <us-gaap:ExtendedProductWarrantyAccrualWarrantiesIssued id="Fact_07164a9694c04789aa5e9ab2ef439640" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">269000</us-gaap:ExtendedProductWarrantyAccrualWarrantiesIssued>
  <!--Extended Product Warranty Accrual, Increase for Warranties Issued-->
  <us-gaap:ExtendedProductWarrantyAccrualWarrantiesIssued id="Fact_1894097248d44fc999a4847d3fa88a0f" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">181000</us-gaap:ExtendedProductWarrantyAccrualWarrantiesIssued>
  <!--Extended Product Warranty Accrual, Increase for Warranties Issued-->
  <us-gaap:ExtendedProductWarrantyAccrualWarrantiesIssued id="Fact_cbab948c117c49969462407e174feeb3" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">259000</us-gaap:ExtendedProductWarrantyAccrualWarrantiesIssued>
  <!--Extended Product Warranty Accrual-->
  <us-gaap:ExtendedProductWarrantyAccrual id="Fact_32a8aa0a7ba1477c981c89ecca7dd46e" contextRef="c20171231" unitRef="U001" decimals="-3">267000</us-gaap:ExtendedProductWarrantyAccrual>
  <!--Extended Product Warranty Accrual-->
  <us-gaap:ExtendedProductWarrantyAccrual id="Fact_7e8ef554ad664ea8ae55e2ff5b98bf2b" contextRef="c20181231" unitRef="U001" decimals="-3">273000</us-gaap:ExtendedProductWarrantyAccrual>
  <!--Extended Product Warranty Accrual-->
  <us-gaap:ExtendedProductWarrantyAccrual id="Fact_cf0eef855983492b91d58ce74c0d58bd" contextRef="c20161231" unitRef="U001" decimals="-3">267000</us-gaap:ExtendedProductWarrantyAccrual>
  <!--Extended Product Warranty Accrual-->
  <us-gaap:ExtendedProductWarrantyAccrual id="Fact_d9e3cbd1c42b466fbf0c571599e268ee" contextRef="c20191231" unitRef="U001" decimals="-3">215000</us-gaap:ExtendedProductWarrantyAccrual>
  <!--Extended Product Warranty Accrual, Decrease for Payments-->
  <us-gaap:ExtendedProductWarrantyAccrualPayments id="Fact_629506759d7f4d3d9991e8a77252f671" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">239000</us-gaap:ExtendedProductWarrantyAccrualPayments>
  <!--Extended Product Warranty Accrual, Decrease for Payments-->
  <us-gaap:ExtendedProductWarrantyAccrualPayments id="Fact_e59f3645bf414622b43694d6b4fdf0dc" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">263000</us-gaap:ExtendedProductWarrantyAccrualPayments>
  <!--Extended Product Warranty Accrual, Decrease for Payments-->
  <us-gaap:ExtendedProductWarrantyAccrualPayments id="Fact_f5bfa4d7d4be4b4dad2b17bc7461377b" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">259000</us-gaap:ExtendedProductWarrantyAccrualPayments>
  <!--Financing Receivable, Unamortized Loan Commitment, Origination Fee, and Premium (Discount)-->
  <us-gaap:FinancingReceivableUnamortizedLoanCommitmentOriginationFeeAndPremiumDiscount id="Fact_40846f9b4340445aa0a62f243d223e80" contextRef="c20191231" unitRef="U001" decimals="0">0</us-gaap:FinancingReceivableUnamortizedLoanCommitmentOriginationFeeAndPremiumDiscount>
  <!--Financing Receivable, Allowance for Credit Loss-->
  <us-gaap:FinancingReceivableAllowanceForCreditLosses id="Fact_5e0d8bd57285436aa7e8ce1621b448ec" contextRef="c20191231" unitRef="U001" decimals="0">0</us-gaap:FinancingReceivableAllowanceForCreditLosses>
  <!--Gross amount-->
  <us-gaap:FiniteLivedIntangibleAssetsGross id="Fact_142b885c651c45a2b5170d303f98bb25" contextRef="c20181231" unitRef="U001" decimals="-3">4284000</us-gaap:FiniteLivedIntangibleAssetsGross>
  <!--Gross amount-Patents [Member]-->
  <us-gaap:FiniteLivedIntangibleAssetsGross id="Fact_18fb7cdaa4b4488e9bbbf9190260a894" contextRef="c20181231_FiniteLivedIntangibleAssetsByMajorClassAxis_PatentsMember" unitRef="U001" decimals="-3">57000</us-gaap:FiniteLivedIntangibleAssetsGross>
  <!--Gross amount-Other [Member]-->
  <us-gaap:FiniteLivedIntangibleAssetsGross id="Fact_6c4b96bf85124e09870228cee08f60f2" contextRef="c20181231_FiniteLivedIntangibleAssetsByMajorClassAxis_OtherIntangibleAssetsMember" unitRef="U001" decimals="-3">80000</us-gaap:FiniteLivedIntangibleAssetsGross>
  <!--Gross amount-Covenant Not to Compete [Member]-->
  <us-gaap:FiniteLivedIntangibleAssetsGross id="Fact_74010b1064ea42e09d4be4179fa5ca3d" contextRef="c20191231_FiniteLivedIntangibleAssetsByMajorClassAxis_NoncompeteAgreementsMember" unitRef="U001" decimals="-3">146000</us-gaap:FiniteLivedIntangibleAssetsGross>
  <!--Gross amount-Trademarks [Member]-->
  <us-gaap:FiniteLivedIntangibleAssetsGross id="Fact_893d4b9ce7224d2fbfaf9f4c95bdc1d7" contextRef="c20181231_FiniteLivedIntangibleAssetsByMajorClassAxis_TrademarksMember" unitRef="U001" decimals="-3">480000</us-gaap:FiniteLivedIntangibleAssetsGross>
  <!--Gross amount-Covenant Not to Compete [Member]-->
  <us-gaap:FiniteLivedIntangibleAssetsGross id="Fact_aac0d9753e2b426e90e1eac7f40f33ef" contextRef="c20181231_FiniteLivedIntangibleAssetsByMajorClassAxis_NoncompeteAgreementsMember" unitRef="U001" decimals="-3">146000</us-gaap:FiniteLivedIntangibleAssetsGross>
  <!--Gross amount-Patents [Member]-->
  <us-gaap:FiniteLivedIntangibleAssetsGross id="Fact_b5877f9056aa400e91833a78be7480f6" contextRef="c20191231_FiniteLivedIntangibleAssetsByMajorClassAxis_PatentsMember" unitRef="U001" decimals="-3">56000</us-gaap:FiniteLivedIntangibleAssetsGross>
  <!--Gross amount-Customer Relationships [Member]-->
  <us-gaap:FiniteLivedIntangibleAssetsGross id="Fact_b7605755562343dc8226b74b4b5adbad" contextRef="c20181231_FiniteLivedIntangibleAssetsByMajorClassAxis_CustomerRelationshipsMember" unitRef="U001" decimals="-3">1300000</us-gaap:FiniteLivedIntangibleAssetsGross>
  <!--Gross amount-Trademarks [Member]-->
  <us-gaap:FiniteLivedIntangibleAssetsGross id="Fact_c45c7a320f9c4595a804f4a305530a13" contextRef="c20191231_FiniteLivedIntangibleAssetsByMajorClassAxis_TrademarksMember" unitRef="U001" decimals="-3">480000</us-gaap:FiniteLivedIntangibleAssetsGross>
  <!--Gross amount-Other [Member]-->
  <us-gaap:FiniteLivedIntangibleAssetsGross id="Fact_ce7aff3b5a734631bd22c21cfdf62400" contextRef="c20191231_FiniteLivedIntangibleAssetsByMajorClassAxis_OtherIntangibleAssetsMember" unitRef="U001" decimals="-3">80000</us-gaap:FiniteLivedIntangibleAssetsGross>
  <!--Gross amount-Customer Relationships [Member]-->
  <us-gaap:FiniteLivedIntangibleAssetsGross id="Fact_e64a4b5ae9314bc6b7703d195b1d84f9" contextRef="c20191231_FiniteLivedIntangibleAssetsByMajorClassAxis_CustomerRelationshipsMember" unitRef="U001" decimals="-3">1300000</us-gaap:FiniteLivedIntangibleAssetsGross>
  <!--Gross amount-Purchased Technology [Member]-->
  <us-gaap:FiniteLivedIntangibleAssetsGross id="Fact_f1f451b3e6044b0892568a67a4a374c8" contextRef="c20191231_FiniteLivedIntangibleAssetsByMajorClassAxis_TechnologyBasedIntangibleAssetsMember" unitRef="U001" decimals="-3">2526000</us-gaap:FiniteLivedIntangibleAssetsGross>
  <!--Gross amount-->
  <us-gaap:FiniteLivedIntangibleAssetsGross id="Fact_f61b303c4217451a9f6833bbe8c6acc2" contextRef="c20191231" unitRef="U001" decimals="-3">4588000</us-gaap:FiniteLivedIntangibleAssetsGross>
  <!--Gross amount-Purchased Technology [Member]-->
  <us-gaap:FiniteLivedIntangibleAssetsGross id="Fact_ff0257d1831d42b2a7e0dbf55eca67ba" contextRef="c20181231_FiniteLivedIntangibleAssetsByMajorClassAxis_TechnologyBasedIntangibleAssetsMember" unitRef="U001" decimals="-3">2221000</us-gaap:FiniteLivedIntangibleAssetsGross>
  <!--Finite-Lived Intangible Assets, Amortization Expense, after Year Five-->
  <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive id="Fact_0838d939b4f84dc7a8e0182270de2671" contextRef="c20191231" unitRef="U001" decimals="-3">0</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseAfterYearFive>
  <!--Finite-Lived Intangible Assets, Accumulated Amortization-Covenant Not to Compete [Member]-->
  <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization id="Fact_0a2246dbf20e4bc19bc3553cb2824f11" contextRef="c20181231_FiniteLivedIntangibleAssetsByMajorClassAxis_NoncompeteAgreementsMember" unitRef="U001" decimals="-3">146000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
  <!--Finite-Lived Intangible Assets, Accumulated Amortization-Patents [Member]-->
  <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization id="Fact_0c751f6333ed4155ba23b828a985df6a" contextRef="c20181231_FiniteLivedIntangibleAssetsByMajorClassAxis_PatentsMember" unitRef="U001" decimals="-3">49000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
  <!--Finite-Lived Intangible Assets, Accumulated Amortization-Other [Member]-->
  <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization id="Fact_0faad471f5014f67910ae39ea43b9156" contextRef="c20181231_FiniteLivedIntangibleAssetsByMajorClassAxis_OtherIntangibleAssetsMember" unitRef="U001" decimals="-3">80000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
  <!--Finite-Lived Intangible Assets, Accumulated Amortization-Purchased Technology [Member]-->
  <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization id="Fact_1357eb9c10084da385e250029da42248" contextRef="c20191231_FiniteLivedIntangibleAssetsByMajorClassAxis_TechnologyBasedIntangibleAssetsMember" unitRef="U001" decimals="-3">1792000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
  <!--Finite-Lived Intangible Assets, Accumulated Amortization-Covenant Not to Compete [Member]-->
  <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization id="Fact_2ea71ad8f06d435b880f67c379be296f" contextRef="c20191231_FiniteLivedIntangibleAssetsByMajorClassAxis_NoncompeteAgreementsMember" unitRef="U001" decimals="-3">146000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
  <!--Finite-Lived Intangible Assets, Accumulated Amortization-Purchased Technology [Member]-->
  <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization id="Fact_3761603695974bcdab42fb0a6823e58f" contextRef="c20181231_FiniteLivedIntangibleAssetsByMajorClassAxis_TechnologyBasedIntangibleAssetsMember" unitRef="U001" decimals="-3">1558000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
  <!--Finite-Lived Intangible Assets, Accumulated Amortization-->
  <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization id="Fact_47a9dbfb89fe424ebab03fafeaeb323a" contextRef="c20191231" unitRef="U001" decimals="-3">3771000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
  <!--Finite-Lived Intangible Assets, Accumulated Amortization-Customer Relationships [Member]-->
  <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization id="Fact_8136d9532a384ed29b376206b6e0630c" contextRef="c20191231_FiniteLivedIntangibleAssetsByMajorClassAxis_CustomerRelationshipsMember" unitRef="U001" decimals="-3">1300000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
  <!--Finite-Lived Intangible Assets, Accumulated Amortization-Other [Member]-->
  <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization id="Fact_a8b68068a8bd46bc92e2025d59e0fa2b" contextRef="c20191231_FiniteLivedIntangibleAssetsByMajorClassAxis_OtherIntangibleAssetsMember" unitRef="U001" decimals="-3">80000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
  <!--Finite-Lived Intangible Assets, Accumulated Amortization-Trademarks [Member]-->
  <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization id="Fact_b22ec8fa662b4b45af86c3c8900dbb44" contextRef="c20191231_FiniteLivedIntangibleAssetsByMajorClassAxis_TrademarksMember" unitRef="U001" decimals="-3">402000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
  <!--Finite-Lived Intangible Assets, Accumulated Amortization-Patents [Member]-->
  <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization id="Fact_bae9f18ff9424bfc95bede74a4841f58" contextRef="c20191231_FiniteLivedIntangibleAssetsByMajorClassAxis_PatentsMember" unitRef="U001" decimals="-3">51000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
  <!--Finite-Lived Intangible Assets, Accumulated Amortization-->
  <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization id="Fact_c25b13b8e94a428abc2096c6ae67064d" contextRef="c20181231" unitRef="U001" decimals="-3">3487000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
  <!--Finite-Lived Intangible Assets, Accumulated Amortization-Trademarks [Member]-->
  <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization id="Fact_d409b63c87d342c8a1a5ab28524ee598" contextRef="c20181231_FiniteLivedIntangibleAssetsByMajorClassAxis_TrademarksMember" unitRef="U001" decimals="-3">354000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
  <!--Finite-Lived Intangible Assets, Accumulated Amortization-Customer Relationships [Member]-->
  <us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization id="Fact_f0a95976ed804a9ab98b4edb9461b61e" contextRef="c20181231_FiniteLivedIntangibleAssetsByMajorClassAxis_CustomerRelationshipsMember" unitRef="U001" decimals="-3">1300000</us-gaap:FiniteLivedIntangibleAssetsAccumulatedAmortization>
  <!--2020-->
  <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths id="Fact_d44e14d41e5d4382a0ea19257e8533c6" contextRef="c20191231" unitRef="U001" decimals="-3">237000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseNextTwelveMonths>
  <!--2021-->
  <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo id="Fact_9d0b3bfc59644da6a4dea0cfa7c4cb21" contextRef="c20191231" unitRef="U001" decimals="-3">185000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearTwo>
  <!--2024-->
  <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive id="Fact_7a65d143f8c144ad839532e2b71039a5" contextRef="c20191231" unitRef="U001" decimals="-3">87000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFive>
  <!--2022-->
  <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree id="Fact_1619731c43304899a18f04f40dd0a596" contextRef="c20191231" unitRef="U001" decimals="-3">154000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearThree>
  <!--2023-->
  <us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour id="Fact_f975aac3ae7a4ab5804682759e9ec8cc" contextRef="c20191231" unitRef="U001" decimals="-3">154000</us-gaap:FiniteLivedIntangibleAssetsAmortizationExpenseYearFour>
  <!--Foreign Currency Transactions and Translations Policy [Policy Text Block]-->
  <us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock id="Fact_b039b51c16a940ffbf3271712b6bd7e7" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Foreign currency translation:&lt;/font&gt;&amp;#160;&amp;#160;The financial position and results of operations of our foreign subsidiary in the UK are measured using local currency as the functional currency.&amp;#160;&amp;#160;Assets and liabilities of such subsidiary have been translated into U.S. dollars at the year-end exchange rate, related sales and expenses have been translated at the exchange rate as of the date the transaction was recognized, and shareholders&amp;#8217; equity has been translated at historical exchange rates.&amp;#160;&amp;#160;The resulting translation gains or losses, net of tax, are recorded in shareholders&amp;#8217; equity as a cumulative translation adjustment, which is a component of accumulated other comprehensive income.&amp;#160;&amp;#160;Foreign currency transaction gains and losses, including those related to intercompany balances, are recognized in Other, net on the Consolidated Statements of Income.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ForeignCurrencyTransactionsAndTranslationsPolicyTextBlock>
  <!--Foreign Currency Transaction Gain (Loss), before Tax-->
  <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax id="Fact_1f94a13c08b44af5b84b96516f607a33" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">-11000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
  <!--Foreign Currency Transaction Gain (Loss), before Tax-->
  <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax id="Fact_47670ea77ee640f182c72158afd5ef13" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">-199000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
  <!--Foreign Currency Transaction Gain (Loss), before Tax-->
  <us-gaap:ForeignCurrencyTransactionGainLossBeforeTax id="Fact_ddefe799f0f34e00b2640c93dd4c1bf6" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">-18000</us-gaap:ForeignCurrencyTransactionGainLossBeforeTax>
  <!--General and administrative-->
  <us-gaap:GeneralAndAdministrativeExpense id="Fact_2442fdf234374730b56a4531a9efbd92" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">7984000</us-gaap:GeneralAndAdministrativeExpense>
  <!--General and administrative-->
  <us-gaap:GeneralAndAdministrativeExpense id="Fact_c3cef2e5f88b4cf3a0c3d89412cf5082" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">8205000</us-gaap:GeneralAndAdministrativeExpense>
  <!--General and administrative-->
  <us-gaap:GeneralAndAdministrativeExpense id="Fact_c903b8d2851f45fbbdd811c3e45f561a" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">9166000</us-gaap:GeneralAndAdministrativeExpense>
  <!--Goodwill and Intangible Asset Impairment-->
  <us-gaap:GoodwillAndIntangibleAssetImpairment id="Fact_b0167f7eaed34f5fbabe375ecd7d8f3f" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">0</us-gaap:GoodwillAndIntangibleAssetImpairment>
  <!--Goodwill-->
  <us-gaap:Goodwill id="Fact_6f510bfe11114a1ebce60650127f9d3b" contextRef="c20181231" unitRef="U001" decimals="-3">2621000</us-gaap:Goodwill>
  <!--Goodwill-->
  <us-gaap:Goodwill id="Fact_e1ff1ff6e98a40df88339ab287c833ab" contextRef="c20191231" unitRef="U001" decimals="-3">2621000</us-gaap:Goodwill>
  <!--Goodwill and Intangible assets-->
  <us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock id="Fact_5cab0af8e68743a6ac5257e76cb55ca0" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Goodwill and Intangible assets&lt;/font&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;:&lt;/font&gt;&amp;#160;We acquire businesses in purchase transactions that result in the recognition of goodwill and intangible assets. The determination of the value of intangible assets requires management to make estimates and assumptions. In accordance with ASC 350-20 &amp;#8220;Goodwill&amp;#8221;, acquired goodwill is not amortized but is subject to impairment testing at least annually and when an event occurs or circumstances change, that indicate it is more likely than not an impairment exists. Factors considered that may trigger an impairment review of either acquired goodwill or intangible assets are: significant underperformance relative to expected historical or projected future operating results; significant changes in the manner of use of acquired assets or the strategy for the overall business; significant negative industry or economic trends; and significant decline in market capitalization relative to net book value. Finite lived intangible assets are amortized and are tested for impairment when appropriate. We have determined that no goodwill or intangible asset impairment has occurred and the fair value of goodwill was substantially higher than our carrying value based on our assessment as of December 31, 2019 when the impairment review is performed.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:GoodwillAndIntangibleAssetsPolicyTextBlock>
  <!--Gross profit-->
  <us-gaap:GrossProfit id="Fact_07525cd639244295834a469c0c8e4082" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">26662000</us-gaap:GrossProfit>
  <!--Gross profit-->
  <us-gaap:GrossProfit id="Fact_c731b4af8c2b496694a36230dc0464ad" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">26743000</us-gaap:GrossProfit>
  <!--Gross profit-->
  <us-gaap:GrossProfit id="Fact_cde6fb91c0d84594bbf495ae876c0b48" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">21935000</us-gaap:GrossProfit>
  <!--Gross profit-->
  <us-gaap:GrossProfit id="Fact_010f21019a2f4d0589ffdbc28c97ff5e" contextRef="c20190101to20190331" unitRef="U001" decimals="-3">6086000</us-gaap:GrossProfit>
  <!--Gross profit-->
  <us-gaap:GrossProfit id="Fact_33966be29fc94531b89b7e65e6aee1c1" contextRef="c20190701to20190930" unitRef="U001" decimals="-3">5546000</us-gaap:GrossProfit>
  <!--Gross profit-->
  <us-gaap:GrossProfit id="Fact_38f42268210244939b1855908daae580" contextRef="c20180401to20180630" unitRef="U001" decimals="-3">6991000</us-gaap:GrossProfit>
  <!--Gross profit-->
  <us-gaap:GrossProfit id="Fact_67e88694529e45cbb42ba52bb7d2fe1f" contextRef="c20180101to20180331" unitRef="U001" decimals="-3">5862000</us-gaap:GrossProfit>
  <!--Gross profit-->
  <us-gaap:GrossProfit id="Fact_bdcef89d3c1d4ecdba1dd849d06057cf" contextRef="c20190401to20190630" unitRef="U001" decimals="-3">5704000</us-gaap:GrossProfit>
  <!--Gross profit-->
  <us-gaap:GrossProfit id="Fact_c499b87f5cb047f696d733a6aaee432f" contextRef="c20181001to20181231" unitRef="U001" decimals="-3">5886000</us-gaap:GrossProfit>
  <!--Gross profit-->
  <us-gaap:GrossProfit id="Fact_c516544d19914d82a46dac88703d0d79" contextRef="c20191001to20191231" unitRef="U001" decimals="-3">4599000</us-gaap:GrossProfit>
  <!--Gross profit-->
  <us-gaap:GrossProfit id="Fact_f44f4b38a7874180abf6bf006b646e76" contextRef="c20180701to20180930" unitRef="U001" decimals="-3">8004000</us-gaap:GrossProfit>
  <!--Foreign loss before taxes-->
  <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign id="Fact_a88bde69951e4062819d251c2b676ed8" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">286000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
  <!--Foreign loss before taxes-->
  <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign id="Fact_d8b906209ccb4fac9dd998ae6f30bc3a" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">563000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
  <!--Foreign loss before taxes-->
  <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign id="Fact_f759aef1b4be4a0aa14e6964924b2787" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">515000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesForeign>
  <!--Income taxes-->
  <us-gaap:IncomeTaxDisclosureTextBlock id="Fact_5073e73c7e79442380bff5b371e73fb3" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;11. Income taxes&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The components of the income tax provision are as follows:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="10" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Year Ended December 31,&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2019&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2018&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2017&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom;"&gt;&lt;div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Current:&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div&gt;&lt;div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Federal&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;58&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,049&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,379&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;State&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;51&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;85&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;114&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&lt;div&gt;&lt;div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Foreign&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;36&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;13&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(49&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;145&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,147&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,444&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div&gt;&lt;div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Deferred:&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Federal&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(205&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;10&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,097&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div&gt;&lt;div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;State&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#8211;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;20&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Foreign&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(94&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(107&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#8211;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&lt;div&gt;&lt;div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(294&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(107&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,117&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Income tax provision (benefit)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(149&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,040&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,561&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;On December 22, 2017, the United States enacted significant changes to U.S. tax law following the passage and signing of the Tax Reform Act. The legislation significantly changes U.S. tax law by, among other things, lowering corporate income tax rates, implementing a territorial tax system and imposing a one-time repatriation tax on undistributed foreign earnings. The Tax Reform Act permanently reduces the U.S. corporate income tax rate from a maximum of 35% to a flat 21% rate, effective January 1, 2018. Income tax effects resulting from changes in tax laws are accounted for by the Company in accordance with authoritative guidance, which requires that these tax effects be recognized in the period in which the law is enacted.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The Company uses the asset and liability method of accounting for income taxes. Under this method, deferred tax assets and liabilities are recognized for future tax consequences attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax basis. Deferred tax assets and liabilities are measured using enacted tax rates expected to apply to taxable income in the years in which those temporary differences are expected to reverse. As a result of the reduction of TransAct's U.S. corporate income tax rate from 34% to 21% under the Tax Reform Act, the Company revalued its ending net deferred tax assets at December 31, 2017 and recognized a provisional $1.3 million charge to income tax expense in the Company's consolidated statement of income for the year ended December 31, 2017.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The Tax Reform Act also provided for a one-time deemed mandatory repatriation of post-1986 undistributed foreign subsidiary earnings and profits ("E&amp;amp;P") through the year ended December 31, 2017. The Company had no undistributed foreign E&amp;amp;P subject to the one-time mandatory repatriation and, therefore, did not recognize any income tax expense related to undistributed foreign subsidiary E&amp;amp;P for the year ended December 31, 2017.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;While the Tax Reform Act provides for a territorial tax system, beginning in 2018, it includes two new U.S. tax base erosion provisions, the global intangible low-taxed income ("GILTI") provisions and the base-erosion and anti-abuse tax ("BEAT") provisions. The GILTI provisions require the Company to include in its U.S. income tax return foreign subsidiary earnings in excess of an allowable return on the foreign subsidiary's tangible assets. The BEAT provisions in the Tax Reform Act eliminate the deduction of certain base-erosion payments made to related foreign corporations, and impose a minimum tax if greater than regular tax. The Company is not currently subject to these taxes and therefore has not included any tax impacts of GILTI or BEAT in its consolidated financial statements for the year ended December 31, 2019 or 2018.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;At December 31, 2019, we have no federal or state net operating loss carryforwards, $111 thousand in R&amp;amp;D credit carryforwards, and no state tax credit carryforwards.&amp;#160;&amp;#160;Foreign loss before taxes was $515 thousand, $286 thousand, and $563 thousand in 2019, 2018, and 2017, respectively.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Deferred income taxes arise from temporary differences between the tax basis of assets and liabilities and their reported amounts in the Consolidated Financial Statements.&amp;#160;&amp;#160;Our deferred tax assets and liabilities were comprised of the following:&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="6" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;December 31,&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2019&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2018&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Deferred tax assets:&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Foreign net operating losses&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;538&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;390&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Depreciation&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;165&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;71&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Inventory reserves&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;916&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;879&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Deferred revenue&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;58&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;16&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Warranty reserve&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;47&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;60&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Stock compensation expense&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;701&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;682&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Other accrued compensation&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;226&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;233&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;R&amp;amp;D credit carryforward&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;111&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#8211;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Other liabilities and reserves&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;276&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;278&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 27pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Gross deferred tax assets&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,038&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,609&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 27pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Valuation allowance&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(444&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(390&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; text-indent: -18pt; margin-left: 45pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net deferred tax assets&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,594&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,219&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Deferred tax liabilities:&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Other&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;29&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;21&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 36pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net deferred tax liabilities&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;29&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;21&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total net deferred tax assets&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,565&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,198&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;As of December 31, 2019 a valuation allowance of $444 thousand has been established for foreign net operating loss carryforwards that are not expected to be used.&amp;#160;The following table summarizes the activity recorded in the valuation allowance on the deferred tax assets:&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="10" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Year Ended December 31,&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2019&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2018&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2017&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Balance, beginning of period&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;390&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;328&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;423&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Additions charged to income tax provision&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;54&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;62&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;67&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Reductions credited to income tax provision&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#8211;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#8211;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(162&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Balance, end of period&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;444&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;390&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;328&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Differences between the U.S. statutory federal income tax rate and our effective income tax rate are analyzed below:&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="10" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Year Ended December 31,&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2019&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2018&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2017&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Federal statutory tax rate&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;21.0&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;21.0&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;34.0&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Valuation allowance and tax accruals&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;14.8&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1.0&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1.6&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;State income taxes, net of federal income taxes&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;12.0&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1.2&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1.3&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Business meals and entertainment&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5.4&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.4&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.4&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Miscellaneous permanent items&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1.4&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.3&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.9&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Uncertain tax positions&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1.0&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#8211;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.1&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Stock option cancellations&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.8&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#8211;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1.7&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;U.S. corporate tax rate change&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#8211;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#8211;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;19.4&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Foreign-derived intangible income deduction&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(5.4&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(1.5&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#8211;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Stock award excess tax benefit&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(8.4&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(1.5&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(1.4&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;R&amp;amp;D credit&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(83.2&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(4.9&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(3.3&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Other&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#8211;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.1&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.1&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Effective tax rate&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(40.6&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;16.1&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;52.6&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; margin-bottom: 8pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Our effective tax rates were -40.6%, 16.1%, and 52.6% for 2019, 2018, and 2017, respectively.&amp;#160;We recorded a tax benefit in 2019 due to the impact of R&amp;amp;D credits on a near break-even level of income before income tax.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;We had $107 thousand and $104 thousand of total gross unrecognized tax benefits at December 31, 2019 and 2018, respectively that, if recognized, would favorably affect the effective income tax rate in any future periods.&amp;#160;&amp;#160;We are not aware of any events that could occur within the next twelve months that could cause a significant change in the total amount of unrecognized tax benefits.&amp;#160;&amp;#160;A tabular reconciliation of the gross amounts of unrecognized tax benefits at the beginning and end of the year is as follows:&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="6" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;December 31,&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2019&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2018&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Unrecognized tax benefits as of January 1&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;104&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;104&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Tax positions taken during the current period&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;28&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;28&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Lapse of statute of limitations&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(25&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(28&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Unrecognized tax benefits as of December 31&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;107&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;104&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;We expect $27 thousand of the $107 thousand of unrecognized tax benefits will reverse in 2020 upon the expiration of the statute of limitations.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;We recognize interest and penalties related to uncertain tax positions in the income tax provision.&amp;#160;&amp;#160;We have accrued interest and penalties related to uncertain tax positions of $18 thousand and $17 thousand as of December 31, 2019 and 2018, respectively.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;We are subject to U.S. federal income tax as well as income tax of certain state and foreign jurisdictions.&amp;#160;&amp;#160;We have substantially concluded all U.S. federal income tax, state and local, and foreign tax matters through 2015.&amp;#160;&amp;#160;However, our federal tax returns for the years 2016 through 2018 remain open to examination. Various state and foreign tax jurisdiction tax years remain open to examination as well, though we believe that any additional assessment would be immaterial to the Consolidated Financial Statements.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:IncomeTaxDisclosureTextBlock>
  <!--Income (Loss) from Continuing Operations before Equity Method Investments, Income Taxes, Noncontrolling Interest-->
  <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments id="Fact_2d08b45c02014ad5b84eacd0b4abbdb2" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">6772000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
  <!--Income (Loss) from Continuing Operations before Equity Method Investments, Income Taxes, Noncontrolling Interest-->
  <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments id="Fact_d9ed26223fb14c5fbf475984be127099" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">367000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
  <!--Income (Loss) from Continuing Operations before Equity Method Investments, Income Taxes, Noncontrolling Interest-->
  <us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments id="Fact_f7fb7235e2e34ac08ab9f673e179b2c4" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">6466000</us-gaap:IncomeLossFromContinuingOperationsBeforeIncomeTaxesMinorityInterestAndIncomeLossFromEquityMethodInvestments>
  <!--Income tax (benefit) provision-->
  <us-gaap:IncomeTaxExpenseBenefit id="Fact_3f38225938c64f9d9642092ab60d3499" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">1040000</us-gaap:IncomeTaxExpenseBenefit>
  <!--Income tax (benefit) provision-->
  <us-gaap:IncomeTaxExpenseBenefit id="Fact_737b5562beb443ce85475a3a96a4db3e" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">3561000</us-gaap:IncomeTaxExpenseBenefit>
  <!--Income tax (benefit) provision-->
  <us-gaap:IncomeTaxExpenseBenefit id="Fact_8f50e666b99f47a3990df5dd58f91799" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">-149000</us-gaap:IncomeTaxExpenseBenefit>
  <!--Accrued interest and penalties related to uncertain tax positions-->
  <us-gaap:IncomeTaxExaminationPenaltiesAndInterestAccrued id="Fact_5e12eb4d62dd4faebdab55cd2e7856a9" contextRef="c20181231" unitRef="U001" decimals="-3">17000</us-gaap:IncomeTaxExaminationPenaltiesAndInterestAccrued>
  <!--Accrued interest and penalties related to uncertain tax positions-->
  <us-gaap:IncomeTaxExaminationPenaltiesAndInterestAccrued id="Fact_fd6229375c3c45018e4433ede7862d59" contextRef="c20191231" unitRef="U001" decimals="-3">18000</us-gaap:IncomeTaxExaminationPenaltiesAndInterestAccrued>
  <!--Income Tax, Policy [Policy Text Block]-->
  <us-gaap:IncomeTaxPolicyTextBlock id="Fact_956d86f36397426997fc5744af20ebba" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Income taxes:&lt;/font&gt;&amp;#160;&amp;#160;The income tax amounts reflected in the accompanying Consolidated Financial Statements are accounted for under the liability method in accordance with ASC 740, &amp;#8220;Income Taxes&amp;#8221; (&amp;#8220;ASC 740&amp;#8221;).&amp;#160;&amp;#160;Deferred tax assets and liabilities are recognized for the estimated future tax consequences attributable to differences between the financial statement carrying amounts of existing assets and liabilities and their respective tax bases and operating loss and tax credit carryforwards.&amp;#160;&amp;#160;Deferred tax assets and liabilities are measured using enacted tax rates in effect for the year in which those temporary differences are expected to be recovered or settled.&amp;#160;&amp;#160;We assess the likelihood that net deferred tax assets will be realized from future taxable income, and to the extent that we believe that realization is not likely, we establish a valuation allowance.&amp;#160;&amp;#160;In accordance with ASC 740, we identified, evaluated and measured the amount of benefits to be recognized for our tax return positions.&amp;#160;&amp;#160;See Note 10 for information regarding our accounting for income taxes and additional provision items recorded in regard to the Tax Cuts and Job Act.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:IncomeTaxPolicyTextBlock>
  <!--Income taxes paid-->
  <us-gaap:IncomeTaxesPaid id="Fact_5f3b361fa25d4c09afc16bc263615784" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">2991000</us-gaap:IncomeTaxesPaid>
  <!--Income taxes paid-->
  <us-gaap:IncomeTaxesPaid id="Fact_c907c1b87a1f46d2954e6ccc7a5df27e" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">1249000</us-gaap:IncomeTaxesPaid>
  <!--Income taxes paid-->
  <us-gaap:IncomeTaxesPaid id="Fact_dd14853acded4852945d4acfdf971228" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">65000</us-gaap:IncomeTaxesPaid>
  <!--Increase (Decrease) in Prepaid Taxes-->
  <us-gaap:IncreaseDecreaseInPrepaidTaxes id="Fact_38a76bebc871405790d917939406ec94" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">518000</us-gaap:IncreaseDecreaseInPrepaidTaxes>
  <!--Increase (Decrease) in Prepaid Taxes-->
  <us-gaap:IncreaseDecreaseInPrepaidTaxes id="Fact_912e686a354d4ad38c827eba6015d41b" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">-577000</us-gaap:IncreaseDecreaseInPrepaidTaxes>
  <!--Increase (Decrease) in Prepaid Taxes-->
  <us-gaap:IncreaseDecreaseInPrepaidTaxes id="Fact_b360ab660ddd4cf6a043f4c4d7301b1a" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">100000</us-gaap:IncreaseDecreaseInPrepaidTaxes>
  <!--Increase (Decrease) in Accrued Liabilities and Other Operating Liabilities-->
  <us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities id="Fact_029e97136e284f17bdc4d483161a3c28" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">415000</us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities>
  <!--Increase (Decrease) in Accrued Liabilities and Other Operating Liabilities-->
  <us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities id="Fact_6846134c5d4d467ca0156173fe50ffff" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">1053000</us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities>
  <!--Increase (Decrease) in Accrued Liabilities and Other Operating Liabilities-->
  <us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities id="Fact_a26a8c72e083404c834d48ac0e3b659b" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">-186000</us-gaap:IncreaseDecreaseInAccruedLiabilitiesAndOtherOperatingLiabilities>
  <!--Increase (Decrease) in Accounts Payable-->
  <us-gaap:IncreaseDecreaseInAccountsPayable id="Fact_6e2d38ded3f34a158e838f4939078c1f" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">-332000</us-gaap:IncreaseDecreaseInAccountsPayable>
  <!--Increase (Decrease) in Accounts Payable-->
  <us-gaap:IncreaseDecreaseInAccountsPayable id="Fact_ab4a045419e24c63a9478c503f9501d4" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">-517000</us-gaap:IncreaseDecreaseInAccountsPayable>
  <!--Increase (Decrease) in Accounts Payable-->
  <us-gaap:IncreaseDecreaseInAccountsPayable id="Fact_e363e1aca4974ce2bc17c7c93cdf9268" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">-988000</us-gaap:IncreaseDecreaseInAccountsPayable>
  <!--Increase (Decrease) in Other Operating Assets-->
  <us-gaap:IncreaseDecreaseInOtherOperatingAssets id="Fact_75980ead44724f2cbc79101665ec926e" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">137000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
  <!--Increase (Decrease) in Other Operating Assets-->
  <us-gaap:IncreaseDecreaseInOtherOperatingAssets id="Fact_7b19cbf1249e4fafb4f52a7956cb3b4c" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">333000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
  <!--Increase (Decrease) in Other Operating Assets-->
  <us-gaap:IncreaseDecreaseInOtherOperatingAssets id="Fact_bbb2fdb3ffe648e1ab29428a9721e1dd" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">161000</us-gaap:IncreaseDecreaseInOtherOperatingAssets>
  <!--Increase (Decrease) in Inventories-->
  <us-gaap:IncreaseDecreaseInInventories id="Fact_1cdd67fc87364898af7a19c62cf8857c" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">-834000</us-gaap:IncreaseDecreaseInInventories>
  <!--Increase (Decrease) in Inventories-->
  <us-gaap:IncreaseDecreaseInInventories id="Fact_6da2c2440f30485b81b04cbb3d06a387" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">4049000</us-gaap:IncreaseDecreaseInInventories>
  <!--Increase (Decrease) in Inventories-->
  <us-gaap:IncreaseDecreaseInInventories id="Fact_914e7da341784afd8a31673dd669a726" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">-796000</us-gaap:IncreaseDecreaseInInventories>
  <!--Increase (Decrease) in Receivables-->
  <us-gaap:IncreaseDecreaseInReceivables id="Fact_7ac2e8e2de8e4f4fb6a4cf2ba53401dc" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">-2688000</us-gaap:IncreaseDecreaseInReceivables>
  <!--Increase (Decrease) in Receivables-->
  <us-gaap:IncreaseDecreaseInReceivables id="Fact_97354e131d6f4028b69e3600d6fe4753" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">-1589000</us-gaap:IncreaseDecreaseInReceivables>
  <!--Increase (Decrease) in Receivables-->
  <us-gaap:IncreaseDecreaseInReceivables id="Fact_bdfdaff5ead84da095ca2e13955ad313" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">405000</us-gaap:IncreaseDecreaseInReceivables>
  <!--Incremental Common Shares Attributable to Dilutive Effect of Share-based Payment Arrangements-->
  <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements id="Fact_88d61c7bc004423d936450a03db614e6" contextRef="c20190101to20191231" unitRef="U002" decimals="-3">211000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
  <!--Incremental Common Shares Attributable to Dilutive Effect of Share-based Payment Arrangements-->
  <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements id="Fact_9f1aaee719204e67ba331f5bec7ae4f3" contextRef="c20170101to20171231" unitRef="U002" decimals="-3">169000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
  <!--Incremental Common Shares Attributable to Dilutive Effect of Share-based Payment Arrangements-->
  <us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements id="Fact_cb6ee26f693c416d9dd5309fa6dc54be" contextRef="c20180101to20181231" unitRef="U002" decimals="-3">315000</us-gaap:IncrementalCommonSharesAttributableToShareBasedPaymentArrangements>
  <!--Intangible assets, net-->
  <us-gaap:IntangibleAssetsNetExcludingGoodwill id="Fact_909c453ee17642a7aa95ae4ef8c74944" contextRef="c20181231" unitRef="U001" decimals="-3">797000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
  <!--Intangible assets, net-->
  <us-gaap:IntangibleAssetsNetExcludingGoodwill id="Fact_e99e81a63c1f45c2ab28b1de079eabbf" contextRef="c20191231" unitRef="U001" decimals="-3">817000</us-gaap:IntangibleAssetsNetExcludingGoodwill>
  <!--Intangible assets-->
  <us-gaap:IntangibleAssetsDisclosureTextBlock id="Fact_bb9c599ec4f84a7da55573fc13c1e192" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;6. Intangible assets&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Identifiable intangible assets are recorded in Intangible assets in the accompanying Consolidated Balance Sheets and are comprised of the following:&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="14" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;December 31,&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="6" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2019&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="6" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2018&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Gross&lt;/div&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Amount&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Accumulated&lt;/div&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Amortization&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Gross&lt;/div&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Amount&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Accumulated&lt;/div&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Amortization&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Purchased technology&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,526&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(1,792&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,221&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(1,558&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Customer relationships&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,300&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(1,300&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,300&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(1,300&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Trademark&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;480&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(402&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;480&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(354&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Covenant not to compete&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;146&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(146&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;146&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(146&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Patents&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;56&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(51&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;57&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(49&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 52%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Other&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;80&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(80&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;80&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(80&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 52%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4,588&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(3,771&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4,284&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(3,487&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Amortization expense was $284 thousand, $128 thousand and $237 thousand in 2019, 2018 and 2017, respectively.&amp;#160;&amp;#160;Amortization expense for each of the next five years ending December 31 is expected to be as follows: $237 thousand in 2020; $185 thousand in 2021; $154 thousand in 2022; $154 thousand in 2023; $87 thousand in 2024; and none thereafter.&lt;/div&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:IntangibleAssetsDisclosureTextBlock>
  <!--Interest Expense-->
  <us-gaap:InterestExpense id="Fact_6690fd0b0d3b44e0bcf82795121d0d9a" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">27000</us-gaap:InterestExpense>
  <!--Interest Expense-->
  <us-gaap:InterestExpense id="Fact_9d63f3f943e14ba2813367cc338a7b2b" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">28000</us-gaap:InterestExpense>
  <!--Interest Expense-->
  <us-gaap:InterestExpense id="Fact_d973b67ed746419098bbb086a2ec09c6" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">33000</us-gaap:InterestExpense>
  <!--Interest paid-->
  <us-gaap:InterestPaidNet id="Fact_4c37b9fc8c344f9baca89c1310dfd6fa" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">30000</us-gaap:InterestPaidNet>
  <!--Interest paid-->
  <us-gaap:InterestPaidNet id="Fact_bb503a85446440f4a2c6de1c6e4f30ae" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">30000</us-gaap:InterestPaidNet>
  <!--Interest paid-->
  <us-gaap:InterestPaidNet id="Fact_d65aad6971e34f498a9d0d5f941096b8" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">25000</us-gaap:InterestPaidNet>
  <!--Interest income-->
  <us-gaap:InterestIncomeDomesticDeposits id="Fact_2ba2cde1bb724792b239977ca71b277e" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">0</us-gaap:InterestIncomeDomesticDeposits>
  <!--Interest income-->
  <us-gaap:InterestIncomeDomesticDeposits id="Fact_54d3cc59edb2485cb5de5066e5bd1138" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">0</us-gaap:InterestIncomeDomesticDeposits>
  <!--Interest income-->
  <us-gaap:InterestIncomeDomesticDeposits id="Fact_a2efe2de23ae49c58e42c6e963ea6300" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">17000</us-gaap:InterestIncomeDomesticDeposits>
  <!--Finished goods-->
  <us-gaap:InventoryFinishedGoodsNetOfReserves id="Fact_02d52df2f7484774a5ce9e1e29df251b" contextRef="c20181231" unitRef="U001" decimals="-3">6213000</us-gaap:InventoryFinishedGoodsNetOfReserves>
  <!--Finished goods-->
  <us-gaap:InventoryFinishedGoodsNetOfReserves id="Fact_75a4fcb355374d1b9ac59132384ec839" contextRef="c20191231" unitRef="U001" decimals="-3">4375000</us-gaap:InventoryFinishedGoodsNetOfReserves>
  <!--Inventory Disclosure [Text Block]-->
  <us-gaap:InventoryDisclosureTextBlock id="Fact_01688639eea14445978a05034361e2fd" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;4. Inventories, net&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The components of inventories, net are:&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="6" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;December 31,&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2019&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2018&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Raw materials and purchased component parts&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,724&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6,593&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Work-in-process&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#8211;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;29&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Finished goods&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4,375&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6,213&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;12,099&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;12,835&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:InventoryDisclosureTextBlock>
  <!--Raw materials and purchased component parts-->
  <us-gaap:InventoryRawMaterialsAndSuppliesNetOfReserves id="Fact_c1aef214207d4208811d564e222574d0" contextRef="c20181231" unitRef="U001" decimals="-3">6593000</us-gaap:InventoryRawMaterialsAndSuppliesNetOfReserves>
  <!--Raw materials and purchased component parts-->
  <us-gaap:InventoryRawMaterialsAndSuppliesNetOfReserves id="Fact_f3b6a9479c564ae6a662b0fc622c7511" contextRef="c20191231" unitRef="U001" decimals="-3">7724000</us-gaap:InventoryRawMaterialsAndSuppliesNetOfReserves>
  <!--Work-in-process-->
  <us-gaap:InventoryWorkInProcessNetOfReserves id="Fact_7ab85aeb398d42e7859a5d6bf43a1df7" contextRef="c20181231" unitRef="U001" decimals="-3">29000</us-gaap:InventoryWorkInProcessNetOfReserves>
  <!--Work-in-process-->
  <us-gaap:InventoryWorkInProcessNetOfReserves id="Fact_bad1de96c0ed4b58a1a78b06e2badf80" contextRef="c20191231" unitRef="U001" decimals="-3">0</us-gaap:InventoryWorkInProcessNetOfReserves>
  <!--Inventory, Policy [Policy Text Block]-->
  <us-gaap:InventoryPolicyTextBlock id="Fact_8bdbd5b2c8784f1ea69356637cba058f" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Inventories:&lt;/font&gt;&amp;#160;&amp;#160;Inventories are stated at the lower of cost (principally standard cost, which approximates actual cost on a first-in, first-out basis) or net realizable value.&amp;#160;&amp;#160;We review net realizable value based on estimated selling prices in the ordinary course of business less estimated costs of completions, disposal and transportation, historical usage and estimates of future demand.&amp;#160;&amp;#160;Based on these reviews, inventory write-downs are recorded, as necessary, to reflect estimated obsolescence, excess quantities and net realizable value.&amp;#160;&amp;#160;&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:InventoryPolicyTextBlock>
  <!--Inventory, Net-->
  <us-gaap:InventoryNet id="Fact_95eb8215b3c049e88a67a3991c8ce0de" contextRef="c20181231" unitRef="U001" decimals="-3">12835000</us-gaap:InventoryNet>
  <!--Inventory, Net-->
  <us-gaap:InventoryNet id="Fact_a5421ac2d28547319dafe1799b22a4c3" contextRef="c20191231" unitRef="U001" decimals="-3">12099000</us-gaap:InventoryNet>
  <!--Lessee, Operating Leases [Text Block]-->
  <us-gaap:LesseeOperatingLeasesTextBlock id="Fact_b78038785f69471781a9a61a78edc253" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;15. Leases&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman',Times,serif; font-size: 10pt;"&gt;Operating lease expense for the year ended December 31, 2019, 2018 and 2017 was $1.0 million, $1.1 million and $1.1 million, respectively, and was included within Cost of sales, Engineering, design and product development expense, Selling and marketing expense, and General and administrative expense.&amp;#160; Operating costs include short-term lease costs which were immaterial during the period.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The following information represents supplemental disclosure for the statement of cash flows related to operating leases (in thousands):&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Year Ended&lt;/div&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31, 2019&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 88%; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Operating cash outflows from leases&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,031&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The following summarizes additional information related to our leases as of December 31, 2019:&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31, 2019&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 88%; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Weighted average remaining lease term (in years)&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5.0&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 88%; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Weighted average discount rate&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3.7&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The maturity of the Company&amp;#8217;s operating lease liabilities as of December 31, 2019 are as follows (in thousands):&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31, 2019&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 88%; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2020&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,042&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 88%; background-color: #FFFFFF;"&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2021&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;711&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 88%; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2022&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;434&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 88%; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2023&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;268&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 88%; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2024&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;273&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 88%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Thereafter&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;616&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 88%; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total undiscounted lease payments&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,344&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 88%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Less imputed interest&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;295&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 88%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total lease liabilities&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,049&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Prior to the adoption of ASC 842, rental commitments on an undiscounted basis were approximately $4.3 million at December 31, 2018 under non-cancelable operating leases and were payable as follows: $1.0 million in 2019; $1.0 million in 2020; $0.7 million in 2021; $0.4 million in 2022, $0.3 million in 2023 and $0.9 million thereafter.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeasesTextBlock>
  <!--Lessee, Operating Lease, Liability, Payments, Due after Year Five-->
  <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive id="Fact_40c04d99807b461ca68bd1339a093275" contextRef="c20191231" unitRef="U001" decimals="-3">616000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueAfterYearFive>
  <!--Lessee, Operating Lease, Liability, Payments, Due Next Twelve Months-->
  <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths id="Fact_9bd669c7553641c3ab028ffe1779e763" contextRef="c20191231" unitRef="U001" decimals="-3">1042000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueNextTwelveMonths>
  <!--Lessee, Operating Lease, Liability, Payments, Due Year Four-->
  <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour id="Fact_16b3c14d7aa94caf844367c3b6a5a616" contextRef="c20191231" unitRef="U001" decimals="-3">268000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFour>
  <!--Lessee, Operating Lease, Liability, Payments, Due Year Five-->
  <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive id="Fact_c36a1bb63133480eb2b61aa3ce02b03f" contextRef="c20191231" unitRef="U001" decimals="-3">273000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearFive>
  <!--Lessee, Operating Lease, Liability, Payments, Due-->
  <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue id="Fact_9b2031a1e2404fc1891121a806ae0006" contextRef="c20191231" unitRef="U001" decimals="-3">3344000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDue>
  <!--Lessee, Operating Lease, Liability, Maturity [Table Text Block]-->
  <us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock id="Fact_b4a0f878c76f4481932fe8dc82e34c95" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The maturity of the Company&amp;#8217;s operating lease liabilities as of December 31, 2019 are as follows (in thousands):&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31, 2019&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 88%; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2020&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,042&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 88%; background-color: #FFFFFF;"&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2021&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;711&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 88%; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2022&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;434&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 88%; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2023&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;268&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 88%; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2024&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;273&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 88%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Thereafter&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;616&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 88%; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total undiscounted lease payments&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,344&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 88%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Less imputed interest&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;295&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 88%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total lease liabilities&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,049&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</us-gaap:LesseeOperatingLeaseLiabilityMaturityTableTextBlock>
  <!--Less imputed interest-->
  <us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount id="Fact_8610e108710e4722a944541f24ba6e18" contextRef="c20191231" unitRef="U001" decimals="-3">295000</us-gaap:LesseeOperatingLeaseLiabilityUndiscountedExcessAmount>
  <!--Leases-->
  <us-gaap:LesseeLeasesPolicyTextBlock id="Fact_b102a313809e469d93eaa3693a77a988" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Leases:&lt;/font&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;&amp;#160;&lt;/font&gt;ASU 2016-02,&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-style: italic;"&gt; &amp;#8220;Leases&amp;#8221;&lt;/font&gt;, which was codified in, and is referred to in this Annual Report as, ASC 842, became effective for reporting periods beginning after December 15, 2018. The adoption required a modified retrospective transition approach, applying the new standard to all leases existing at the date of initial application. An entity may choose to use either (1) its effective date or (2) the beginning of the earliest comparative period presented in the financial statements as its date of initial application. The Company has elected to adopt the standard using the effective date, January 1, 2019, as its date of initial application. Consequently, financial information for prior periods will not be updated, and the disclosures required under the new standard will not be provided for dates and periods before January 1, 2019.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The new standard requires lessees to apply a dual approach, classifying leases as either finance or operating leases based on the principle of whether or not the lease is effectively a financed purchase by the lessee. This classification will determine whether lease expense is recognized based on an effective interest method or on a straight-line basis over the term of the lease, respectively. A lessee is also required to record a right-of-use asset and a lease liability for all leases with a term of greater than 12 months regardless of their classification. Leases with a term of 12 months or less will be accounted for based on existing guidance for operating leases. If risks and rewards are conveyed without the transfer of control, the lease is treated as financing. If the lessor does not convey risks and rewards or control, the lease is treated as operating.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;We have elected certain practical expedients available under ASC 842 upon adoption. We have applied the practical expedient which allows prospective transition to ASC 842 on January 1, 2019. Under this transition practical expedient, we did not reassess lease classification, embedded leases or initial direct costs. We have applied the practical expedient for short-term leases. We have lease agreements that include lease and non-lease components, and we have not elected the practical expedients to combine these components for any of our leases.&amp;#160; The adoption of ASC 842 had no effect on our Consolidated Statement of Income or Consolidated Statement of Cash Flows. Upon adoption of ASC 842, we recorded a $3.7 million right-of-use asset and a $3.9 million lease liability. The adoption of the new standard had no impact on retained earnings.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;We enter into lease agreements for the use of real estate space and certain other&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;&amp;#160;&lt;/font&gt;equipment under operating leases and we have no financing leases. We determine if an arrangement contains a lease at inception. Our leases are included in Right of use assets and Lease liabilities in our Condensed Consolidated Balance Sheet.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Right of use assets represent our right to use an underlying asset for the lease term and lease liabilities represent our obligation to make lease payments arising from the lease. Lease right of use assets and liabilities are recognized at the commencement date of the lease based on the present value of lease payments over the lease term. As most of our leases do not provide an implicit rate, the Company determines its incremental borrowing rate by using the rate of interest that the Company would have to pay to borrow on a collateralized basis over a similar term, an amount equal to the lease payments in a similar economic environment.&amp;#160; Our lease right of use assets exclude lease incentives. Our leases have remaining lease terms of one year to eight years, some of which include options to extend. The majority of our leases with options to extend provide for extensions of up to five years with the ability to terminate the lease within one year. The exercise of lease renewal options is at our sole discretion and our lease right of use assets and liabilities reflect only the options we are reasonably certain that we will exercise. Lease expense is recognized on a straight-line basis over the lease term.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:LesseeLeasesPolicyTextBlock>
  <!--Lessee, Operating Lease, Liability, Payments, Due Year Three-->
  <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree id="Fact_ec9af871bb364e6da42c8ea6551486af" contextRef="c20191231" unitRef="U001" decimals="-3">434000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearThree>
  <!--Lessee, Operating Lease, Liability, Payments, Due Year Two-->
  <us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo id="Fact_383908e4253f432da6d659aa462d9e9f" contextRef="c20191231" unitRef="U001" decimals="-3">711000</us-gaap:LesseeOperatingLeaseLiabilityPaymentsDueYearTwo>
  <!--Liabilities-->
  <us-gaap:Liabilities id="Fact_7963e44df5eb465bb5c2e95da56dff36" contextRef="c20181231" unitRef="U001" decimals="-3">7389000</us-gaap:Liabilities>
  <!--Liabilities-->
  <us-gaap:Liabilities id="Fact_9b736ca325e647c3b06d2e94b19c1964" contextRef="c20191231" unitRef="U001" decimals="-3">10135000</us-gaap:Liabilities>
  <!--Liabilities and Equity-->
  <us-gaap:LiabilitiesAndStockholdersEquity id="Fact_0aef885bdaf141058de45d6439d34185" contextRef="c20181231" unitRef="U001" decimals="-3">34956000</us-gaap:LiabilitiesAndStockholdersEquity>
  <!--Liabilities and Equity-->
  <us-gaap:LiabilitiesAndStockholdersEquity id="Fact_515c071adf4f4089ac6313a550fcfd9f" contextRef="c20191231" unitRef="U001" decimals="-3">36061000</us-gaap:LiabilitiesAndStockholdersEquity>
  <!--Liabilities, Noncurrent-->
  <us-gaap:LiabilitiesNoncurrent id="Fact_4aab6be972464c4693d9031d8ff43fa6" contextRef="c20181231" unitRef="U001" decimals="-3">757000</us-gaap:LiabilitiesNoncurrent>
  <!--Liabilities, Noncurrent-->
  <us-gaap:LiabilitiesNoncurrent id="Fact_996c9b6ba4ce4f9faefba669ab64d190" contextRef="c20191231" unitRef="U001" decimals="-3">2489000</us-gaap:LiabilitiesNoncurrent>
  <!--Liabilities, Current-->
  <us-gaap:LiabilitiesCurrent id="Fact_891f2ab01e4f4064a1aec501df1a1163" contextRef="c20191231" unitRef="U001" decimals="-3">7646000</us-gaap:LiabilitiesCurrent>
  <!--Liabilities, Current-->
  <us-gaap:LiabilitiesCurrent id="Fact_9e27cdd1c621442fbacf9fc9a7945c55" contextRef="c20181231" unitRef="U001" decimals="-3">6632000</us-gaap:LiabilitiesCurrent>
  <!--Long-term Line of Credit-Revolving Credit Facility [Member]-TD Bank, N.A. [Member]-->
  <us-gaap:LineOfCredit id="Fact_1d42d85122044664b8fda2f6dc96546e" contextRef="c20191231_CreditFacilityAxis_RevolvingCreditFacilityMember_LineOfCreditFacilityAxis_TDBankNAMember" unitRef="U001" decimals="-3">0</us-gaap:LineOfCredit>
  <!--Line of Credit Facility, Unused Capacity, Commitment Fee Percentage-TD Bank, N.A. [Member]-Revolving Credit Facility [Member]-->
  <us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage id="Fact_97f9fac0d06b4645b1cf45d57ea30426" contextRef="c20190101to20191231_CreditFacilityAxis_RevolvingCreditFacilityMember_LineOfCreditFacilityAxis_TDBankNAMember" unitRef="U006" decimals="INF">0.00125</us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage>
  <!--Line of Credit Facility, Unused Capacity, Commitment Fee Percentage-Subsequent Event [Member]-Revolving Credit Facility [Member]-Siena Lending Group LLC [Member]-->
  <us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage id="Fact_31c38098ccc943c5b1af3963129b0f5a" contextRef="c20200313to20200313_CreditFacilityAxis_RevolvingCreditFacilityMember_LineOfCreditFacilityAxis_SienaLendingGroupLLCMember_SubsequentEventTypeAxis_SubsequentEventMember" unitRef="U006" decimals="INF">0.0050</us-gaap:LineOfCreditFacilityUnusedCapacityCommitmentFeePercentage>
  <!--Line of Credit Facility, Maximum Borrowing Capacity-TD Bank, N.A. [Member]-Revolving Credit Facility [Member]-->
  <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity id="Fact_2abb10b6e7944e568e99b47b14ecb576" contextRef="c20191231_CreditFacilityAxis_RevolvingCreditFacilityMember_LineOfCreditFacilityAxis_TDBankNAMember" unitRef="U001" decimals="-6">20000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
  <!--Line of Credit Facility, Maximum Borrowing Capacity-Subsequent Event [Member]-Revolving Credit Facility [Member]-Siena Lending Group LLC [Member]-->
  <us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity id="Fact_1aaf5dd79a104f74a7f32124bab6d8a0" contextRef="c20200313_CreditFacilityAxis_RevolvingCreditFacilityMember_LineOfCreditFacilityAxis_SienaLendingGroupLLCMember_SubsequentEventTypeAxis_SubsequentEventMember" unitRef="U001" decimals="-6">10000000</us-gaap:LineOfCreditFacilityMaximumBorrowingCapacity>
  <!--Loans, Notes, Trade and Other Receivables Disclosure [Text Block]-->
  <us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock id="Fact_932c5d584736461d92203348de3360b6" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;3. Note receivable&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman',Times,serif; font-size: 10pt;"&gt;The note receivable balance relates to a loan given to a third party and repayment is expected to occur in 12 months or less of original issuance.&amp;#160; The note receivable has an interest rate of 4.5% and is due in April 2020.&amp;#160; Notes receivable are stated at unpaid balances and interest income is recognized on the accrual method.&amp;#160; As of December 31, 2019, we have no allowances for loan losses, unamortized deferred loan fees or unearned discounts.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:LoansNotesTradeAndOtherReceivablesDisclosureTextBlock>
  <!--Description of business-->
  <us-gaap:NatureOfOperations id="Fact_372cb20f5d004aedb2be9f30f99b4a14" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;1. Description of business&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 11.05pt; margin-bottom: 8pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;TransAct Technologies Incorporated (together with its subsidiaries, &amp;#8220;TransAct,&amp;#8221; the &amp;#8220;Company,&amp;#8221; "we,", "us,", "our"), which has its headquarters in Hamden, Connecticut and its primary operating facility in Ithaca, New York, operates in one operating segment: software-driven technology and printing solutions for high growth markets including food service technology, casino and gaming, lottery, POS automation and banking, and oil and gas markets.&amp;#160;&amp;#160;Our solutions are designed from the ground up based on market and customer requirements and are sold under the BOHA!&lt;sup&gt;TM&lt;/sup&gt;, AccuDate&amp;#8482; Ithaca&amp;#174;, Epic, EPICENTRAL&lt;sup&gt;TM&lt;/sup&gt; and Printrex&amp;#174; product brands.&amp;#160;&amp;#160;We sell our products to original equipment manufacturers, value-added resellers, select distributors, and directly to end-users.&amp;#160; Our product distribution spans across the Americas, Europe, the Middle East, Africa, Asia, Australia, the Caribbean Islands and the South Pacific. TransAct also provides world-class service, spare parts, accessories and printing supplies to its growing worldwide installed base of products.&amp;#160; We also generate revenue from the after-market side of the business, providing printer and terminal service, supplies and spare parts in addition to revenue from our two software solutions; (i)the EPICENTRAL&lt;sup&gt;TM&lt;/sup&gt; Print System (&amp;#8220;EPICENTRAL&lt;sup&gt;TM&lt;/sup&gt;&amp;#8221;), that enables casino operators to create promotional coupons and marketing messages and print them in real-time at the slot machine and (ii) our newly-launched line of BOHA! software applications used to automate the back-of-house operations of restaurants and other food service establishments.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:NatureOfOperations>
  <!--Net Cash Provided by (Used in) Operating Activities-->
  <us-gaap:NetCashProvidedByUsedInOperatingActivities id="Fact_1cadacf2df084445bf85ef3f1cc84a17" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">5109000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
  <!--Net Cash Provided by (Used in) Operating Activities-->
  <us-gaap:NetCashProvidedByUsedInOperatingActivities id="Fact_8c6865ce6cbb48af8985ef1b8e83d9da" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">4846000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
  <!--Net Cash Provided by (Used in) Operating Activities-->
  <us-gaap:NetCashProvidedByUsedInOperatingActivities id="Fact_acd2b1e82a06450bb53896f054f97529" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">5918000</us-gaap:NetCashProvidedByUsedInOperatingActivities>
  <!--Net Cash Provided by (Used in) Investing Activities-->
  <us-gaap:NetCashProvidedByUsedInInvestingActivities id="Fact_0e72d9c5a5fc4962b868a1f8c7398707" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">-1473000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
  <!--Net Cash Provided by (Used in) Investing Activities-->
  <us-gaap:NetCashProvidedByUsedInInvestingActivities id="Fact_22acdd06b0cc4bcca8759485487b0f34" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">-2366000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
  <!--Net Cash Provided by (Used in) Investing Activities-->
  <us-gaap:NetCashProvidedByUsedInInvestingActivities id="Fact_ba40da3467c44ab986d4d07f97a87448" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">-985000</us-gaap:NetCashProvidedByUsedInInvestingActivities>
  <!--Net Cash Provided by (Used in) Financing Activities-->
  <us-gaap:NetCashProvidedByUsedInFinancingActivities id="Fact_5c5a754ee186444a93d913cc181a33dd" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">-2897000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
  <!--Net Cash Provided by (Used in) Financing Activities-->
  <us-gaap:NetCashProvidedByUsedInFinancingActivities id="Fact_9aa7988c96b54afba599bae9ca9b2b29" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">-1919000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
  <!--Net Cash Provided by (Used in) Financing Activities-->
  <us-gaap:NetCashProvidedByUsedInFinancingActivities id="Fact_bc495dcd3f05457ca0d71f2fdaf5e0e1" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">-4516000</us-gaap:NetCashProvidedByUsedInFinancingActivities>
  <!--Net income-->
  <us-gaap:NetIncomeLoss id="Fact_718505e0683e4f05b7d32055b0cd95ee" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">3211000</us-gaap:NetIncomeLoss>
  <!--Net income-->
  <us-gaap:NetIncomeLoss id="Fact_7bedbef5fb14452489bef358030bfa1b" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">5426000</us-gaap:NetIncomeLoss>
  <!--Net income-->
  <us-gaap:NetIncomeLoss id="Fact_c7f5036583a44f26881274ab1dad2561" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">516000</us-gaap:NetIncomeLoss>
  <!--Net income-Treasury Stock [Member]-->
  <us-gaap:NetIncomeLoss id="Fact_236bb96078614e198d340a4a264d2403" contextRef="c20190101to20191231_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U001" decimals="-3">0</us-gaap:NetIncomeLoss>
  <!--Net income-AOCI Attributable to Parent [Member]-->
  <us-gaap:NetIncomeLoss id="Fact_274d1b0bd3eb4c579a1ed84aba118a15" contextRef="c20180101to20181231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3">0</us-gaap:NetIncomeLoss>
  <!--Net income-Additional Paid-in Capital [Member]-->
  <us-gaap:NetIncomeLoss id="Fact_3b89ab9a715e4e1cb3d19e3f6e13b3ca" contextRef="c20180101to20181231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3">0</us-gaap:NetIncomeLoss>
  <!--Net income-Retained Earnings [Member]-->
  <us-gaap:NetIncomeLoss id="Fact_484832c1c278425daddf6bd5c72e60a6" contextRef="c20190101to20191231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3">516000</us-gaap:NetIncomeLoss>
  <!--Net income-Additional Paid-in Capital [Member]-->
  <us-gaap:NetIncomeLoss id="Fact_510dbd7c0d284a4e953763e49104edd0" contextRef="c20170101to20171231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3">0</us-gaap:NetIncomeLoss>
  <!--Net income-Treasury Stock [Member]-->
  <us-gaap:NetIncomeLoss id="Fact_60b5e3b0b34e4534bfa1b4e9443c35d4" contextRef="c20170101to20171231_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U001" decimals="-3">0</us-gaap:NetIncomeLoss>
  <!--Net income-AOCI Attributable to Parent [Member]-->
  <us-gaap:NetIncomeLoss id="Fact_7ad886131d1241eb9908739b8f486146" contextRef="c20170101to20171231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3">0</us-gaap:NetIncomeLoss>
  <!--Net income-Retained Earnings [Member]-->
  <us-gaap:NetIncomeLoss id="Fact_7d88ab7a18d24cc695828c93e7c23b53" contextRef="c20170101to20171231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3">3211000</us-gaap:NetIncomeLoss>
  <!--Net income-Common Stock [Member]-->
  <us-gaap:NetIncomeLoss id="Fact_86a886f9b6984cfa8d0cd325481a55e3" contextRef="c20190101to20191231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3">0</us-gaap:NetIncomeLoss>
  <!--Net income-Retained Earnings [Member]-->
  <us-gaap:NetIncomeLoss id="Fact_88adbf7f632d4d41ad3e69bf369b9643" contextRef="c20180101to20181231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3">5426000</us-gaap:NetIncomeLoss>
  <!--Net income-AOCI Attributable to Parent [Member]-->
  <us-gaap:NetIncomeLoss id="Fact_8b0fe2b6d9b04d108c47536fb99f5153" contextRef="c20190101to20191231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3">0</us-gaap:NetIncomeLoss>
  <!--Net income-Treasury Stock [Member]-->
  <us-gaap:NetIncomeLoss id="Fact_8ef30a4b9ee64d2c81e91f159da5bb51" contextRef="c20180101to20181231_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U001" decimals="-3">0</us-gaap:NetIncomeLoss>
  <!--Net income-Additional Paid-in Capital [Member]-->
  <us-gaap:NetIncomeLoss id="Fact_baad44291ff449d2b684ef709f5b2436" contextRef="c20190101to20191231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3">0</us-gaap:NetIncomeLoss>
  <!--Net income-Common Stock [Member]-->
  <us-gaap:NetIncomeLoss id="Fact_d97ec3bde00a44ccabf3328592d058ee" contextRef="c20180101to20181231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3">0</us-gaap:NetIncomeLoss>
  <!--Net income-Common Stock [Member]-->
  <us-gaap:NetIncomeLoss id="Fact_fd0b4c5c3bed4b0194d2b49d4162362d" contextRef="c20170101to20171231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3">0</us-gaap:NetIncomeLoss>
  <!--Net income-->
  <us-gaap:NetIncomeLoss id="Fact_2c88bfa4c9314a38907c7fa767d8a161" contextRef="c20190401to20190630" unitRef="U001" decimals="-3">186000</us-gaap:NetIncomeLoss>
  <!--Net income-->
  <us-gaap:NetIncomeLoss id="Fact_551fa01386b646eb896336690bf6e7d8" contextRef="c20190101to20190331" unitRef="U001" decimals="-3">746000</us-gaap:NetIncomeLoss>
  <!--Net income-->
  <us-gaap:NetIncomeLoss id="Fact_5d02d44fc06d4f35ab3b64cf473a50f8" contextRef="c20181001to20181231" unitRef="U001" decimals="-3">962000</us-gaap:NetIncomeLoss>
  <!--Net income-->
  <us-gaap:NetIncomeLoss id="Fact_b37c6bd70e374576b3aa8cc3eb2dc84a" contextRef="c20180401to20180630" unitRef="U001" decimals="-3">1210000</us-gaap:NetIncomeLoss>
  <!--Net income-->
  <us-gaap:NetIncomeLoss id="Fact_b4def9e46a834daab831bf16b53f4a86" contextRef="c20190701to20190930" unitRef="U001" decimals="-3">384000</us-gaap:NetIncomeLoss>
  <!--Net income-->
  <us-gaap:NetIncomeLoss id="Fact_c4ca182b4305491a928bf120689e1cef" contextRef="c20191001to20191231" unitRef="U001" decimals="-3">-800000</us-gaap:NetIncomeLoss>
  <!--Net income-->
  <us-gaap:NetIncomeLoss id="Fact_e5e81de66b344c6ca667b6d5e6a0c7c3" contextRef="c20180701to20180930" unitRef="U001" decimals="-3">2574000</us-gaap:NetIncomeLoss>
  <!--Net income-->
  <us-gaap:NetIncomeLoss id="Fact_f00bc90183c844f2a4d6a470df6f0860" contextRef="c20180101to20180331" unitRef="U001" decimals="-3">680000</us-gaap:NetIncomeLoss>
  <!--Nonoperating Income (Expense)-->
  <us-gaap:NonoperatingIncomeExpense id="Fact_6a6f4e3b1a9b406895395d52e6b15074" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">-42000</us-gaap:NonoperatingIncomeExpense>
  <!--Nonoperating Income (Expense)-->
  <us-gaap:NonoperatingIncomeExpense id="Fact_cbd1c3364e9e4ee092b7627427ec4f13" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">-293000</us-gaap:NonoperatingIncomeExpense>
  <!--Nonoperating Income (Expense)-->
  <us-gaap:NonoperatingIncomeExpense id="Fact_eee6a6c650174d4fb49d1f157c28ba67" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">24000</us-gaap:NonoperatingIncomeExpense>
  <!--Number of operating segments-->
  <us-gaap:NumberOfOperatingSegments id="Fact_fc8c82a2914340e68718df2f64e069e6" contextRef="c20190101to20191231" unitRef="U004" decimals="INF">1</us-gaap:NumberOfOperatingSegments>
  <!--Operating Lease, Weighted Average Remaining Lease Term-->
  <us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1 id="Fact_6f09e7e1047b45d4bbb8bd0a707b37d4" contextRef="c20191231">P5Y</us-gaap:OperatingLeaseWeightedAverageRemainingLeaseTerm1>
  <!--Right-of-use-asset-->
  <us-gaap:OperatingLeaseRightOfUseAsset id="Fact_57cf7de59ca542059df48ec0e2d9fb7e" contextRef="c20191231" unitRef="U001" decimals="-3">2855000</us-gaap:OperatingLeaseRightOfUseAsset>
  <!--Right-of-use-asset-->
  <us-gaap:OperatingLeaseRightOfUseAsset id="Fact_c8f3f71628af43089021e735261250dd" contextRef="c20181231" unitRef="U001" decimals="-3">0</us-gaap:OperatingLeaseRightOfUseAsset>
  <!--Right-of-use-asset-Accounting Standards Update 2016-02 [Member]-->
  <us-gaap:OperatingLeaseRightOfUseAsset id="Fact_c2dcb90b955a4bb1b38493ecb46628f0" contextRef="c20181231_AdjustmentsForNewAccountingPronouncementsAxis_AccountingStandardsUpdate201602Member" unitRef="U001" decimals="-5">3700000</us-gaap:OperatingLeaseRightOfUseAsset>
  <!--Operating Lease, Expense-->
  <us-gaap:OperatingLeaseExpense id="Fact_d6954b95e7fb4bd6906edf20a8e67f86" contextRef="c20170101to20171231" unitRef="U001" decimals="-5">1100000</us-gaap:OperatingLeaseExpense>
  <!--Operating Lease, Expense-->
  <us-gaap:OperatingLeaseExpense id="Fact_f183a3a30281413097b2b289045098b8" contextRef="c20190101to20191231" unitRef="U001" decimals="-5">1000000</us-gaap:OperatingLeaseExpense>
  <!--Operating Lease, Expense-->
  <us-gaap:OperatingLeaseExpense id="Fact_2aa860ea1aae4ae994ede3b4d02d149e" contextRef="c20180101to20181231" unitRef="U001" decimals="-5">1100000</us-gaap:OperatingLeaseExpense>
  <!--Operating Expenses-->
  <us-gaap:OperatingExpenses id="Fact_a13c8a31a2d6498e86d4ba919b5080a1" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">19984000</us-gaap:OperatingExpenses>
  <!--Operating Expenses-->
  <us-gaap:OperatingExpenses id="Fact_ae303d3c0c8e4c599f9da27594e86ff3" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">19848000</us-gaap:OperatingExpenses>
  <!--Operating Expenses-->
  <us-gaap:OperatingExpenses id="Fact_b95463a155e14bbe9c2201faadff2e33" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">21592000</us-gaap:OperatingExpenses>
  <!--Operating Lease, Weighted Average Discount Rate, Percent-->
  <us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent id="Fact_f4944b2cb7b543978e78e5a6c700c765" contextRef="c20191231" unitRef="U006" decimals="3">0.037</us-gaap:OperatingLeaseWeightedAverageDiscountRatePercent>
  <!--Operating Income (Loss)-->
  <us-gaap:OperatingIncomeLoss id="Fact_46525a4557c641cb9baf6763ad58d7f9" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">6814000</us-gaap:OperatingIncomeLoss>
  <!--Operating Income (Loss)-->
  <us-gaap:OperatingIncomeLoss id="Fact_6fe8674a9228423fbc1f84fba491f676" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">343000</us-gaap:OperatingIncomeLoss>
  <!--Operating Income (Loss)-->
  <us-gaap:OperatingIncomeLoss id="Fact_7790c99e67b04c1194903191dc3f7d78" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">6759000</us-gaap:OperatingIncomeLoss>
  <!--Lease liability-->
  <us-gaap:OperatingLeaseLiabilityCurrent id="Fact_5972986e98d7468bb14509651ec15764" contextRef="c20181231" unitRef="U001" decimals="-3">0</us-gaap:OperatingLeaseLiabilityCurrent>
  <!--Lease liability-->
  <us-gaap:OperatingLeaseLiabilityCurrent id="Fact_8b6069e376d3466eaae7da6ee9906898" contextRef="c20191231" unitRef="U001" decimals="-3">945000</us-gaap:OperatingLeaseLiabilityCurrent>
  <!--Lease liability, net of current portion-->
  <us-gaap:OperatingLeaseLiabilityNoncurrent id="Fact_7edee31cd4ec47c98620745dc33d8787" contextRef="c20191231" unitRef="U001" decimals="-3">2104000</us-gaap:OperatingLeaseLiabilityNoncurrent>
  <!--Lease liability, net of current portion-->
  <us-gaap:OperatingLeaseLiabilityNoncurrent id="Fact_cd09dba3bd184dd89403329b75b46474" contextRef="c20181231" unitRef="U001" decimals="-3">0</us-gaap:OperatingLeaseLiabilityNoncurrent>
  <!--Lease liability, net of current portion-Accounting Standards Update 2016-02 [Member]-->
  <us-gaap:OperatingLeaseLiabilityNoncurrent id="Fact_c9d40af72ede49cba0db6c0adf1b08c5" contextRef="c20181231_AdjustmentsForNewAccountingPronouncementsAxis_AccountingStandardsUpdate201602Member" unitRef="U001" decimals="-5">3900000</us-gaap:OperatingLeaseLiabilityNoncurrent>
  <!--Operating Lease, Payments-->
  <us-gaap:OperatingLeasePayments id="Fact_31016429b07a48feb66bf0a1e98fc7bf" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">1031000</us-gaap:OperatingLeasePayments>
  <!--Operating Lease, Liability-->
  <us-gaap:OperatingLeaseLiability id="Fact_e7486f30fa0a49a0bcd7baf4400a804f" contextRef="c20191231" unitRef="U001" decimals="-3">3049000</us-gaap:OperatingLeaseLiability>
  <!--Operating Leases, Future Minimum Payments, Due in Two Years-->
  <us-gaap:OperatingLeasesFutureMinimumPaymentsDueInTwoYears id="Fact_2c00f81de6ad413f8e3815bfa9a8862a" contextRef="c20181231" unitRef="U001" decimals="-5">1000000</us-gaap:OperatingLeasesFutureMinimumPaymentsDueInTwoYears>
  <!--Operating Leases, Future Minimum Payments, Due in Five Years-->
  <us-gaap:OperatingLeasesFutureMinimumPaymentsDueInFiveYears id="Fact_5f503201c83143f5ab759936552df547" contextRef="c20181231" unitRef="U001" decimals="-5">300000</us-gaap:OperatingLeasesFutureMinimumPaymentsDueInFiveYears>
  <!--Operating Leases, Future Minimum Payments, Due in Four Years-->
  <us-gaap:OperatingLeasesFutureMinimumPaymentsDueInFourYears id="Fact_7ea55734b03c4fdc9bac1db663358fa6" contextRef="c20181231" unitRef="U001" decimals="-5">400000</us-gaap:OperatingLeasesFutureMinimumPaymentsDueInFourYears>
  <!--Net operating loss carryforward-State and Local Jurisdiction [Member]-->
  <us-gaap:OperatingLossCarryforwards id="Fact_67cbf18b4e834d6da8e04805c8fe863a" contextRef="c20191231_IncomeTaxAuthorityAxis_StateAndLocalJurisdictionMember" unitRef="U001" decimals="-3">0</us-gaap:OperatingLossCarryforwards>
  <!--Net operating loss carryforward-Federal [Member]-->
  <us-gaap:OperatingLossCarryforwards id="Fact_93363834928a4dedb7a2c4584877a87c" contextRef="c20191231_IncomeTaxAuthorityAxis_DomesticCountryMember" unitRef="U001" decimals="-3">0</us-gaap:OperatingLossCarryforwards>
  <!--Operating Leases, Future Minimum Payments, Due in Three Years-->
  <us-gaap:OperatingLeasesFutureMinimumPaymentsDueInThreeYears id="Fact_21fab14666054ed1af387b16c05a06e0" contextRef="c20181231" unitRef="U001" decimals="-5">700000</us-gaap:OperatingLeasesFutureMinimumPaymentsDueInThreeYears>
  <!--Operating Leases, Future Minimum Payments Due-->
  <us-gaap:OperatingLeasesFutureMinimumPaymentsDue id="Fact_818efc2e10004010aef38067bfe4c2ac" contextRef="c20181231" unitRef="U001" decimals="-5">4300000</us-gaap:OperatingLeasesFutureMinimumPaymentsDue>
  <!--Operating Leases, Future Minimum Payments Due, Next Twelve Months-->
  <us-gaap:OperatingLeasesFutureMinimumPaymentsDueCurrent id="Fact_8f8821c6c5a14c71ba420c3b939a47e5" contextRef="c20181231" unitRef="U001" decimals="-5">1000000</us-gaap:OperatingLeasesFutureMinimumPaymentsDueCurrent>
  <!--Operating Leases, Future Minimum Payments, Due Thereafter-->
  <us-gaap:OperatingLeasesFutureMinimumPaymentsDueThereafter id="Fact_7ed0c327b05e425f897c4ffe2b3e9928" contextRef="c20181231" unitRef="U001" decimals="-5">900000</us-gaap:OperatingLeasesFutureMinimumPaymentsDueThereafter>
  <!--Foreign currency translation adjustment, net of tax-->
  <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax id="Fact_077c692e5c434b2bb8be2320516f8dd4" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">10000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
  <!--Foreign currency translation adjustment, net of tax-->
  <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax id="Fact_a7627d4dcddd4c07895d6165771d4e59" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">51000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
  <!--Foreign currency translation adjustment, net of tax-->
  <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax id="Fact_ed294aab3ca64d6e867b72afd8d8f116" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">17000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
  <!--Foreign currency translation adjustment, net of tax-Retained Earnings [Member]-->
  <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax id="Fact_2d4fd28fbad14b39aed9e7565226de0d" contextRef="c20190101to20191231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
  <!--Foreign currency translation adjustment, net of tax-Common Stock [Member]-->
  <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax id="Fact_2e44c6e4bac942108f6070ed51d63ba8" contextRef="c20170101to20171231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
  <!--Foreign currency translation adjustment, net of tax-Common Stock [Member]-->
  <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax id="Fact_39a1762ab8f84a63951461988a6a567d" contextRef="c20190101to20191231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
  <!--Foreign currency translation adjustment, net of tax-Treasury Stock [Member]-->
  <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax id="Fact_452083fef61a4a50ab17ecc2e5c296e9" contextRef="c20190101to20191231_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U001" decimals="-3">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
  <!--Foreign currency translation adjustment, net of tax-Additional Paid-in Capital [Member]-->
  <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax id="Fact_54388faf03a145249eafc8af591b8e1e" contextRef="c20180101to20181231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
  <!--Foreign currency translation adjustment, net of tax-Treasury Stock [Member]-->
  <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax id="Fact_98b22ccecef247eabe8de3753f0a6dd2" contextRef="c20180101to20181231_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U001" decimals="-3">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
  <!--Foreign currency translation adjustment, net of tax-AOCI Attributable to Parent [Member]-->
  <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax id="Fact_a1c8dd2d91394439ad70a1f0535c3a89" contextRef="c20180101to20181231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3">17000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
  <!--Foreign currency translation adjustment, net of tax-Treasury Stock [Member]-->
  <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax id="Fact_a3ae082c84bc4c2f9387ef0f260e66fc" contextRef="c20170101to20171231_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U001" decimals="-3">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
  <!--Foreign currency translation adjustment, net of tax-Additional Paid-in Capital [Member]-->
  <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax id="Fact_ae570157c3e8422bb8902fe96de87aa6" contextRef="c20190101to20191231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
  <!--Foreign currency translation adjustment, net of tax-Retained Earnings [Member]-->
  <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax id="Fact_b19c3ebe69d046eeade1944cbf614b92" contextRef="c20170101to20171231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
  <!--Foreign currency translation adjustment, net of tax-Additional Paid-in Capital [Member]-->
  <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax id="Fact_b3eb91a2342a4b7eba8685d4a8c74183" contextRef="c20170101to20171231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
  <!--Foreign currency translation adjustment, net of tax-AOCI Attributable to Parent [Member]-->
  <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax id="Fact_b5195b7a21bb45e2a482acb133c054b4" contextRef="c20170101to20171231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3">10000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
  <!--Foreign currency translation adjustment, net of tax-Retained Earnings [Member]-->
  <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax id="Fact_c6617148c3e843d9b76d03399e31b527" contextRef="c20180101to20181231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
  <!--Foreign currency translation adjustment, net of tax-AOCI Attributable to Parent [Member]-->
  <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax id="Fact_f23dee99e6614f17a500edf3c3d0a41e" contextRef="c20190101to20191231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3">51000</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
  <!--Foreign currency translation adjustment, net of tax-Common Stock [Member]-->
  <us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax id="Fact_fa266623610a4f559f1b094aed03bf18" contextRef="c20180101to20181231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3">0</us-gaap:OtherComprehensiveIncomeLossForeignCurrencyTransactionAndTranslationAdjustmentNetOfTax>
  <!--Other current assets-->
  <us-gaap:OtherAssetsCurrent id="Fact_89e30067ed3c4f5f9e6bad0b2864fe06" contextRef="c20191231" unitRef="U001" decimals="-3">998000</us-gaap:OtherAssetsCurrent>
  <!--Other current assets-->
  <us-gaap:OtherAssetsCurrent id="Fact_e3c7305f4cd84304b8c95d43286ef056" contextRef="c20181231" unitRef="U001" decimals="-3">677000</us-gaap:OtherAssetsCurrent>
  <!--Other assets-->
  <us-gaap:OtherAssetsNoncurrent id="Fact_207eea7f5b7b4d1abb382dfefc23b505" contextRef="c20181231" unitRef="U001" decimals="-3">31000</us-gaap:OtherAssetsNoncurrent>
  <!--Other assets-->
  <us-gaap:OtherAssetsNoncurrent id="Fact_bbbd3fe7070445a79eafae89963a5584" contextRef="c20191231" unitRef="U001" decimals="-3">44000</us-gaap:OtherAssetsNoncurrent>
  <!--Other-->
  <us-gaap:OtherLiabilitiesCurrent id="Fact_649e6c58848542559137ecac41639140" contextRef="c20181231" unitRef="U001" decimals="-3">525000</us-gaap:OtherLiabilitiesCurrent>
  <!--Other-->
  <us-gaap:OtherLiabilitiesCurrent id="Fact_878c3028276e43fbb44be8f15705b6ce" contextRef="c20191231" unitRef="U001" decimals="-3">861000</us-gaap:OtherLiabilitiesCurrent>
  <!--Other, net-->
  <us-gaap:OtherNonoperatingIncomeExpense id="Fact_47d4214f44294855ab94e9bb49f5622e" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">-9000</us-gaap:OtherNonoperatingIncomeExpense>
  <!--Other, net-->
  <us-gaap:OtherNonoperatingIncomeExpense id="Fact_738cfee812284b1881783249883d5418" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">35000</us-gaap:OtherNonoperatingIncomeExpense>
  <!--Other, net-->
  <us-gaap:OtherNonoperatingIncomeExpense id="Fact_8eb93bb7824542e5b5098aba36e92e00" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">-266000</us-gaap:OtherNonoperatingIncomeExpense>
  <!--Other liabilities-->
  <us-gaap:OtherLiabilitiesNoncurrent id="Fact_20a2997b3de34e099fd0a39383fb150c" contextRef="c20191231" unitRef="U001" decimals="-3">166000</us-gaap:OtherLiabilitiesNoncurrent>
  <!--Other liabilities-->
  <us-gaap:OtherLiabilitiesNoncurrent id="Fact_beea7c6c1ee540e19af17cd6d9e1a85c" contextRef="c20181231" unitRef="U001" decimals="-3">242000</us-gaap:OtherLiabilitiesNoncurrent>
  <!--Payments for Repurchase of Equity-->
  <us-gaap:PaymentsForRepurchaseOfEquity id="Fact_9b90e35cfb5d42308ae68a35288a541d" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">0</us-gaap:PaymentsForRepurchaseOfEquity>
  <!--Payments for Repurchase of Equity-->
  <us-gaap:PaymentsForRepurchaseOfEquity id="Fact_a479cace3b3a4e91aa852327becbcc60" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">358000</us-gaap:PaymentsForRepurchaseOfEquity>
  <!--Payments for Repurchase of Equity-->
  <us-gaap:PaymentsForRepurchaseOfEquity id="Fact_da8b25112f094da38b9e7c69033669a1" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">2000000</us-gaap:PaymentsForRepurchaseOfEquity>
  <!--Payments of Ordinary Dividends, Common Stock-->
  <us-gaap:PaymentsOfDividendsCommonStock id="Fact_6b4692e103ed489090ec781eff5e6256" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">2683000</us-gaap:PaymentsOfDividendsCommonStock>
  <!--Payments of Ordinary Dividends, Common Stock-->
  <us-gaap:PaymentsOfDividendsCommonStock id="Fact_c027984718b94eeaa71647c0b8bc4401" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">2667000</us-gaap:PaymentsOfDividendsCommonStock>
  <!--Payments of Ordinary Dividends, Common Stock-->
  <us-gaap:PaymentsOfDividendsCommonStock id="Fact_ff2f3e851a4e4064b05ea2d0faf4dc49" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">2581000</us-gaap:PaymentsOfDividendsCommonStock>
  <!--Payments to Acquire Property, Plant, and Equipment-->
  <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment id="Fact_75d1e635dc694e97bb043fa32a68e0b4" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">1007000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
  <!--Payments to Acquire Property, Plant, and Equipment-->
  <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment id="Fact_d01a1cb162f14093abf3c4534916dfd1" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">1062000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
  <!--Payments to Acquire Property, Plant, and Equipment-->
  <us-gaap:PaymentsToAcquirePropertyPlantAndEquipment id="Fact_fee3cbeb3f764aa6a3ce2b7e113621cd" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">835000</us-gaap:PaymentsToAcquirePropertyPlantAndEquipment>
  <!--Payments to Acquire Notes Receivable-->
  <us-gaap:PaymentsToAcquireNotesReceivable id="Fact_3f6aae4c6bc24fd8b0fa15dd78550701" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">0</us-gaap:PaymentsToAcquireNotesReceivable>
  <!--Payments to Acquire Notes Receivable-->
  <us-gaap:PaymentsToAcquireNotesReceivable id="Fact_de483e40085a4973bca5040480163213" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">1000000</us-gaap:PaymentsToAcquireNotesReceivable>
  <!--Payments to Acquire Notes Receivable-->
  <us-gaap:PaymentsToAcquireNotesReceivable id="Fact_eb6f2a2920314f809c2682e3319e8638" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">0</us-gaap:PaymentsToAcquireNotesReceivable>
  <!--Payments to Acquire Notes Receivable-Subsequent Event [Member]-->
  <us-gaap:PaymentsToAcquireNotesReceivable id="Fact_5a5101c2017d41458229348c1d17e0fe" contextRef="c20200313to20200313_SubsequentEventTypeAxis_SubsequentEventMember" unitRef="U001" decimals="-5">600000</us-gaap:PaymentsToAcquireNotesReceivable>
  <!--Payments for Software-->
  <us-gaap:PaymentsForSoftware id="Fact_6eacc3fe902c4907a8e086c6cc03eb98" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">150000</us-gaap:PaymentsForSoftware>
  <!--Payments for Software-->
  <us-gaap:PaymentsForSoftware id="Fact_c503117f5d8245498ee8bacf32de666d" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">466000</us-gaap:PaymentsForSoftware>
  <!--Payments for Software-->
  <us-gaap:PaymentsForSoftware id="Fact_e891fee1a3e443c99e1ea40515404567" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">304000</us-gaap:PaymentsForSoftware>
  <!--Preferred stock par value (in dollars per share)-Series A Preferred Stock [Member]-->
  <us-gaap:PreferredStockParOrStatedValuePerShare id="Fact_28822927c43b4b8cbe06ae27e4bea2d7" contextRef="c20181231_StatementClassOfStockAxis_SeriesAPreferredStockMember" unitRef="U003" decimals="INF">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
  <!--Preferred stock par value (in dollars per share)-->
  <us-gaap:PreferredStockParOrStatedValuePerShare id="Fact_3dde48488619456a9628c721542cd603" contextRef="c20191231" unitRef="U003" decimals="INF">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
  <!--Preferred stock par value (in dollars per share)-Series A Preferred Stock [Member]-->
  <us-gaap:PreferredStockParOrStatedValuePerShare id="Fact_43b0f962335f44b0bc6050899c49f459" contextRef="c20191231_StatementClassOfStockAxis_SeriesAPreferredStockMember" unitRef="U003" decimals="INF">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
  <!--Preferred stock par value (in dollars per share)-->
  <us-gaap:PreferredStockParOrStatedValuePerShare id="Fact_545b68f3f19343558a8ed17c610461b3" contextRef="c20181231" unitRef="U003" decimals="INF">0.01</us-gaap:PreferredStockParOrStatedValuePerShare>
  <!--Preferred stock, shares issued (in shares)-->
  <us-gaap:PreferredStockSharesIssued id="Fact_6d3952d6ce304e02b9e1614f07c491ac" contextRef="c20181231" unitRef="U002" decimals="INF">0</us-gaap:PreferredStockSharesIssued>
  <!--Preferred stock, shares issued (in shares)-->
  <us-gaap:PreferredStockSharesIssued id="Fact_b8d2087300724037b8604f728bbf4e5f" contextRef="c20191231" unitRef="U002" decimals="INF">0</us-gaap:PreferredStockSharesIssued>
  <!--Preferred stock, shares issued (in shares)-Series A Preferred Stock [Member]-->
  <us-gaap:PreferredStockSharesIssued id="Fact_bbf8c9d32508438b9e66a773093c657f" contextRef="c20191231_StatementClassOfStockAxis_SeriesAPreferredStockMember" unitRef="U002" decimals="INF">0</us-gaap:PreferredStockSharesIssued>
  <!--Preferred stock, shares issued (in shares)-Series A Preferred Stock [Member]-->
  <us-gaap:PreferredStockSharesIssued id="Fact_fe51ae98f5a24fe4975b90e0acbcaa56" contextRef="c20181231_StatementClassOfStockAxis_SeriesAPreferredStockMember" unitRef="U002" decimals="INF">0</us-gaap:PreferredStockSharesIssued>
  <!--Preferred Stock, Value, Issued-->
  <us-gaap:PreferredStockValue id="Fact_65fed4e37d854e45a04b07ab11f9a4de" contextRef="c20191231" unitRef="U001" decimals="-3">0</us-gaap:PreferredStockValue>
  <!--Preferred Stock, Value, Issued-->
  <us-gaap:PreferredStockValue id="Fact_94f2b7081d9844b7b28b61fb5508df51" contextRef="c20181231" unitRef="U001" decimals="-3">0</us-gaap:PreferredStockValue>
  <!--Preferred Stock, Value, Issued-Series A Preferred Stock [Member]-->
  <us-gaap:PreferredStockValue id="Fact_9877f9b84ae54ed89cc4c81d8be2980e" contextRef="c20181231_StatementClassOfStockAxis_SeriesAPreferredStockMember" unitRef="U001" decimals="-3">0</us-gaap:PreferredStockValue>
  <!--Preferred Stock, Value, Issued-Series A Preferred Stock [Member]-->
  <us-gaap:PreferredStockValue id="Fact_fc91bb23a61f4f77b0758eb0b6f30442" contextRef="c20191231_StatementClassOfStockAxis_SeriesAPreferredStockMember" unitRef="U001" decimals="-3">0</us-gaap:PreferredStockValue>
  <!--Preferred stock, shares outstanding (in shares)-Series A Preferred Stock [Member]-->
  <us-gaap:PreferredStockSharesOutstanding id="Fact_1703962955c049ca9e86cc315a73ccb7" contextRef="c20191231_StatementClassOfStockAxis_SeriesAPreferredStockMember" unitRef="U002" decimals="INF">0</us-gaap:PreferredStockSharesOutstanding>
  <!--Preferred stock, shares outstanding (in shares)-->
  <us-gaap:PreferredStockSharesOutstanding id="Fact_4a2bd4377bd1471cb36bf28a87e6096f" contextRef="c20181231" unitRef="U002" decimals="INF">0</us-gaap:PreferredStockSharesOutstanding>
  <!--Preferred stock, shares outstanding (in shares)-->
  <us-gaap:PreferredStockSharesOutstanding id="Fact_6581164dd6764854ac6ec49953ea5016" contextRef="c20191231" unitRef="U002" decimals="INF">0</us-gaap:PreferredStockSharesOutstanding>
  <!--Preferred stock, shares outstanding (in shares)-Series A Preferred Stock [Member]-->
  <us-gaap:PreferredStockSharesOutstanding id="Fact_7d25b1f398d542f3846f0b2d0ca2c399" contextRef="c20181231_StatementClassOfStockAxis_SeriesAPreferredStockMember" unitRef="U002" decimals="INF">0</us-gaap:PreferredStockSharesOutstanding>
  <!--Preferred stock, shares authorized (in shares)-Series A Preferred Stock [Member]-->
  <us-gaap:PreferredStockSharesAuthorized id="Fact_016007dc8b41417ebf90dd0398d944e9" contextRef="c20191231_StatementClassOfStockAxis_SeriesAPreferredStockMember" unitRef="U002" decimals="INF">200000</us-gaap:PreferredStockSharesAuthorized>
  <!--Preferred stock, shares authorized (in shares)-->
  <us-gaap:PreferredStockSharesAuthorized id="Fact_01ba1a352aeb4bb1810dab0c497d2f35" contextRef="c20191231" unitRef="U002" decimals="INF">4800000</us-gaap:PreferredStockSharesAuthorized>
  <!--Preferred stock, shares authorized (in shares)-->
  <us-gaap:PreferredStockSharesAuthorized id="Fact_734f66d6fd2f41da942edf61d8960d16" contextRef="c20181231" unitRef="U002" decimals="INF">4800000</us-gaap:PreferredStockSharesAuthorized>
  <!--Preferred stock, shares authorized (in shares)-Series A Preferred Stock [Member]-->
  <us-gaap:PreferredStockSharesAuthorized id="Fact_c688701445914dad8d04866774248b54" contextRef="c20181231_StatementClassOfStockAxis_SeriesAPreferredStockMember" unitRef="U002" decimals="INF">200000</us-gaap:PreferredStockSharesAuthorized>
  <!--Prepaid income taxes-->
  <us-gaap:PrepaidTaxes id="Fact_2a9f451bd85f40db908e85d552ffeb45" contextRef="c20191231" unitRef="U001" decimals="-3">180000</us-gaap:PrepaidTaxes>
  <!--Prepaid income taxes-->
  <us-gaap:PrepaidTaxes id="Fact_67b04fb63b9d4df4983e4c6cd2603625" contextRef="c20181231" unitRef="U001" decimals="-3">809000</us-gaap:PrepaidTaxes>
  <!--Proceeds from stock option exercises-->
  <us-gaap:ProceedsFromStockOptionsExercised id="Fact_4515e431adff4b9ab6bd58cd2625e81f" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">0</us-gaap:ProceedsFromStockOptionsExercised>
  <!--Proceeds from stock option exercises-->
  <us-gaap:ProceedsFromStockOptionsExercised id="Fact_751c7e80a27c4a5a9f811062b6fd93ab" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">1043000</us-gaap:ProceedsFromStockOptionsExercised>
  <!--Proceeds from stock option exercises-->
  <us-gaap:ProceedsFromStockOptionsExercised id="Fact_a83f2e6fee2d4a1884dd4daa7a480eec" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">416000</us-gaap:ProceedsFromStockOptionsExercised>
  <!--Estimated useful life-Furniture and Office Equipment [Member]-Minimum [Member]-->
  <us-gaap:PropertyPlantAndEquipmentUsefulLife id="Fact_25d86d2ee5c04f1fb2c875d15cec7854" contextRef="c20190101to20191231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndOfficeEquipmentMember_RangeAxis_MinimumMember">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
  <!--Estimated useful life-Tooling [Member]-->
  <us-gaap:PropertyPlantAndEquipmentUsefulLife id="Fact_5cc2680c05a043a0b25ce6f4916b4131" contextRef="c20190101to20191231_PropertyPlantAndEquipmentByTypeAxis_ToolsDiesAndMoldsMember">P5Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
  <!--Estimated useful life-Computer Software and Equipment [Member]-Minimum [Member]-->
  <us-gaap:PropertyPlantAndEquipmentUsefulLife id="Fact_a0f66a418165446f84d758088921fdc3" contextRef="c20190101to20191231_PropertyPlantAndEquipmentByTypeAxis_ComputerSoftwareAndEquipmentMember_RangeAxis_MinimumMember">P3Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
  <!--Estimated useful life-Computer Software and Equipment [Member]-Maximum [Member]-->
  <us-gaap:PropertyPlantAndEquipmentUsefulLife id="Fact_b7696fb234dc495aa9ba74ca3e108417" contextRef="c20190101to20191231_PropertyPlantAndEquipmentByTypeAxis_ComputerSoftwareAndEquipmentMember_RangeAxis_MaximumMember">P7Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
  <!--Estimated useful life-Machinery and Equipment [Member]-->
  <us-gaap:PropertyPlantAndEquipmentUsefulLife id="Fact_e2ea93df5f6540a1a1c6cec8ef513218" contextRef="c20190101to20191231_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember">P10Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
  <!--Estimated useful life-Maximum [Member]-Furniture and Office Equipment [Member]-->
  <us-gaap:PropertyPlantAndEquipmentUsefulLife id="Fact_e8753665e6f346b7aa89c89b698af9f5" contextRef="c20190101to20191231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndOfficeEquipmentMember_RangeAxis_MaximumMember">P10Y</us-gaap:PropertyPlantAndEquipmentUsefulLife>
  <!--Property, Plant and Equipment, Gross-->
  <us-gaap:PropertyPlantAndEquipmentGross id="Fact_0c6b2e16d1ca42d48c58f6b03adb50a4" contextRef="c20181231" unitRef="U001" decimals="-3">22463000</us-gaap:PropertyPlantAndEquipmentGross>
  <!--Property, Plant and Equipment, Gross-Computer Software and Equipment [Member]-->
  <us-gaap:PropertyPlantAndEquipmentGross id="Fact_18de600506ec4dc4866439b88a212d47" contextRef="c20181231_PropertyPlantAndEquipmentByTypeAxis_ComputerSoftwareAndEquipmentMember" unitRef="U001" decimals="-3">6930000</us-gaap:PropertyPlantAndEquipmentGross>
  <!--Property, Plant and Equipment, Gross-Machinery and Equipment [Member]-->
  <us-gaap:PropertyPlantAndEquipmentGross id="Fact_30d09f69ff584d3cbf51f081c0866512" contextRef="c20191231_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember" unitRef="U001" decimals="-3">9175000</us-gaap:PropertyPlantAndEquipmentGross>
  <!--Property, Plant and Equipment, Gross-Leasehold Improvements [Member]-->
  <us-gaap:PropertyPlantAndEquipmentGross id="Fact_4c1f90594b9641628cd5e28f511e17d0" contextRef="c20181231_PropertyPlantAndEquipmentByTypeAxis_LeaseholdImprovementsMember" unitRef="U001" decimals="-3">2666000</us-gaap:PropertyPlantAndEquipmentGross>
  <!--Property, Plant and Equipment, Gross-Furniture and Office Equipment [Member]-->
  <us-gaap:PropertyPlantAndEquipmentGross id="Fact_5148a3b21d264416b73bb8cad8a9d377" contextRef="c20191231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndOfficeEquipmentMember" unitRef="U001" decimals="-3">1694000</us-gaap:PropertyPlantAndEquipmentGross>
  <!--Property, Plant and Equipment, Gross-Construction in-Process [Member]-->
  <us-gaap:PropertyPlantAndEquipmentGross id="Fact_797efbeafe834d6ba7184509b9f6d5ae" contextRef="c20191231_PropertyPlantAndEquipmentByTypeAxis_ConstructionInProgressMember" unitRef="U001" decimals="-3">627000</us-gaap:PropertyPlantAndEquipmentGross>
  <!--Property, Plant and Equipment, Gross-Leasehold Improvements [Member]-->
  <us-gaap:PropertyPlantAndEquipmentGross id="Fact_83a410afc3a040beb998635b888470b0" contextRef="c20191231_PropertyPlantAndEquipmentByTypeAxis_LeaseholdImprovementsMember" unitRef="U001" decimals="-3">2696000</us-gaap:PropertyPlantAndEquipmentGross>
  <!--Property, Plant and Equipment, Gross-Construction in-Process [Member]-->
  <us-gaap:PropertyPlantAndEquipmentGross id="Fact_aff4723951d3485fa7017b0c49fc4676" contextRef="c20181231_PropertyPlantAndEquipmentByTypeAxis_ConstructionInProgressMember" unitRef="U001" decimals="-3">327000</us-gaap:PropertyPlantAndEquipmentGross>
  <!--Property, Plant and Equipment, Gross-Machinery and Equipment [Member]-->
  <us-gaap:PropertyPlantAndEquipmentGross id="Fact_b7096828c7514695a1f3f41efb016301" contextRef="c20181231_PropertyPlantAndEquipmentByTypeAxis_MachineryAndEquipmentMember" unitRef="U001" decimals="-3">11177000</us-gaap:PropertyPlantAndEquipmentGross>
  <!--Property, Plant and Equipment, Gross-->
  <us-gaap:PropertyPlantAndEquipmentGross id="Fact_d0ac09a72e8a42a4b2f8cad36f140b25" contextRef="c20191231" unitRef="U001" decimals="-3">20627000</us-gaap:PropertyPlantAndEquipmentGross>
  <!--Property, Plant and Equipment, Gross-Computer Software and Equipment [Member]-->
  <us-gaap:PropertyPlantAndEquipmentGross id="Fact_dafe99c896aa4188a499afdb93f9e543" contextRef="c20191231_PropertyPlantAndEquipmentByTypeAxis_ComputerSoftwareAndEquipmentMember" unitRef="U001" decimals="-3">7062000</us-gaap:PropertyPlantAndEquipmentGross>
  <!--Property, Plant and Equipment, Gross-Furniture and Office Equipment [Member]-->
  <us-gaap:PropertyPlantAndEquipmentGross id="Fact_e8ba4991573b41c3ad86fa0e8bb5efa4" contextRef="c20181231_PropertyPlantAndEquipmentByTypeAxis_FurnitureAndOfficeEquipmentMember" unitRef="U001" decimals="-3">1690000</us-gaap:PropertyPlantAndEquipmentGross>
  <!--Fixed assets-->
  <us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock id="Fact_6def23bdf238436cab3bb92e80fb37a4" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;5. Fixed assets&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The components of fixed assets, net are:&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="6" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;December 31,&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2019&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2018&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Tooling, machinery and equipment&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;9,175&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;11,177&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Furniture and office equipment&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,694&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,690&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Computer software and equipment&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,062&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6,930&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Leasehold improvements&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,696&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,666&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;20,627&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;22,463&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Less: Accumulated depreciation and amortization&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(19,010&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(20,518&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,617&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,945&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Construction in-process&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;627&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;327&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,244&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,272&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentDisclosureTextBlock>
  <!--Property, Plant and Equipment [Table Text Block]-->
  <us-gaap:PropertyPlantAndEquipmentTextBlock id="Fact_f4278d1ef1864a7e99a83e401f2c6ce0" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The components of fixed assets, net are:&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="6" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;December 31,&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2019&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2018&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Tooling, machinery and equipment&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;9,175&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;11,177&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Furniture and office equipment&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,694&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,690&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Computer software and equipment&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,062&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6,930&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Leasehold improvements&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,696&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,666&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;20,627&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;22,463&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Less: Accumulated depreciation and amortization&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(19,010&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(20,518&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,617&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,945&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Construction in-process&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;627&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;327&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,244&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,272&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentTextBlock>
  <!--Fixed assets, net-->
  <us-gaap:PropertyPlantAndEquipmentNet id="Fact_29263762bbd440cba77e115231c070a0" contextRef="c20191231" unitRef="U001" decimals="-3">2244000</us-gaap:PropertyPlantAndEquipmentNet>
  <!--Fixed assets, net-->
  <us-gaap:PropertyPlantAndEquipmentNet id="Fact_747986a85d914a609cff3bb5668c84dd" contextRef="c20181231" unitRef="U001" decimals="-3">2272000</us-gaap:PropertyPlantAndEquipmentNet>
  <!--Fixed assets, net-Fixed Assets, Excluding Construction in-Process [Member]-->
  <us-gaap:PropertyPlantAndEquipmentNet id="Fact_bd7ba49344304ecbbc9a48568ab67b93" contextRef="c20191231_PropertyPlantAndEquipmentByTypeAxis_FixedAssetsExcludingConstructionInProcessMember" unitRef="U001" decimals="-3">1617000</us-gaap:PropertyPlantAndEquipmentNet>
  <!--Fixed assets, net-Fixed Assets, Excluding Construction in-Process [Member]-->
  <us-gaap:PropertyPlantAndEquipmentNet id="Fact_e60641eb96f04ad0988ad869cb3ee387" contextRef="c20181231_PropertyPlantAndEquipmentByTypeAxis_FixedAssetsExcludingConstructionInProcessMember" unitRef="U001" decimals="-3">1945000</us-gaap:PropertyPlantAndEquipmentNet>
  <!--Fixed assets, net-United States [Member]-Reportable Geographical Components [Member]-->
  <us-gaap:PropertyPlantAndEquipmentNet id="Fact_1bfe8923a8e14fa683eb31c29619012e" contextRef="c20171231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_US" unitRef="U001" decimals="-3">1548000</us-gaap:PropertyPlantAndEquipmentNet>
  <!--Fixed assets, net-International [Member]-Reportable Geographical Components [Member]-->
  <us-gaap:PropertyPlantAndEquipmentNet id="Fact_5236c1ce0f6c48afa2014846558f0bc2" contextRef="c20181231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3">505000</us-gaap:PropertyPlantAndEquipmentNet>
  <!--Fixed assets, net-Reportable Geographical Components [Member]-International [Member]-->
  <us-gaap:PropertyPlantAndEquipmentNet id="Fact_72ffe88b0dc841c7a1653f47ea2031f7" contextRef="c20171231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3">621000</us-gaap:PropertyPlantAndEquipmentNet>
  <!--Fixed assets, net-International [Member]-Reportable Geographical Components [Member]-->
  <us-gaap:PropertyPlantAndEquipmentNet id="Fact_86b131f08fda478ea7cf3aa188ff1430" contextRef="c20191231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3">918000</us-gaap:PropertyPlantAndEquipmentNet>
  <!--Fixed assets, net-United States [Member]-Reportable Geographical Components [Member]-->
  <us-gaap:PropertyPlantAndEquipmentNet id="Fact_8a64543d8f9e45759e3b3491bf553f76" contextRef="c20191231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_US" unitRef="U001" decimals="-3">1326000</us-gaap:PropertyPlantAndEquipmentNet>
  <!--Fixed assets, net-United States [Member]-Reportable Geographical Components [Member]-->
  <us-gaap:PropertyPlantAndEquipmentNet id="Fact_ab13e7d783da4e5791a41c9c2b0327c1" contextRef="c20181231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_US" unitRef="U001" decimals="-3">1767000</us-gaap:PropertyPlantAndEquipmentNet>
  <!--Fixed assets, net-->
  <us-gaap:PropertyPlantAndEquipmentNet id="Fact_cfc705b7a67646338c7ab8fa9af8b5f8" contextRef="c20171231" unitRef="U001" decimals="-3">2169000</us-gaap:PropertyPlantAndEquipmentNet>
  <!--Property, Plant and Equipment, Policy [Policy Text Block]-->
  <us-gaap:PropertyPlantAndEquipmentPolicyTextBlock id="Fact_6daa85385d30466e94c3970c39f779a0" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Fixed assets:&lt;/font&gt;&amp;#160;&amp;#160;Fixed assets are stated at cost.&amp;#160;&amp;#160;Depreciation is recorded using the straight-line method over the estimated useful lives.&amp;#160;&amp;#160;The estimated useful life of tooling is five years; machinery and equipment is ten years; furniture and office equipment is five years to ten years; and computer software and equipment is three years to seven years.&amp;#160;&amp;#160;Leasehold improvements are amortized over the shorter of the term of the lease or the useful life of the asset.&amp;#160;&amp;#160;Costs related to repairs and maintenance are expensed as incurred.&amp;#160;&amp;#160;The costs of sold or retired assets are removed from the related asset and accumulated depreciation accounts and any gain or loss is recognized.&amp;#160;&amp;#160;Depreciation expense was $1.1 million, $0.9 million and $0.8 million in 2019, 2018, and 2017, respectively.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:PropertyPlantAndEquipmentPolicyTextBlock>
  <!--Provision for Loan, Lease, and Other Losses-->
  <us-gaap:ProvisionForLoanLeaseAndOtherLosses id="Fact_7b2c0c2a85ea403783a9aee5b85878e1" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">105000</us-gaap:ProvisionForLoanLeaseAndOtherLosses>
  <!--Provision for Loan, Lease, and Other Losses-->
  <us-gaap:ProvisionForLoanLeaseAndOtherLosses id="Fact_6c58413f26844c97990c4f24082bdfa8" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">16000</us-gaap:ProvisionForLoanLeaseAndOtherLosses>
  <!--Provision for Loan, Lease, and Other Losses-->
  <us-gaap:ProvisionForLoanLeaseAndOtherLosses id="Fact_d2eafa66b7704695a25ad4c00c05c7d3" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">50000</us-gaap:ProvisionForLoanLeaseAndOtherLosses>
  <!--Additions charged to costs and expenses-->
  <us-gaap:ProvisionForDoubtfulAccounts id="Fact_0d57b1db72644d2db10468de2a359118" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">105000</us-gaap:ProvisionForDoubtfulAccounts>
  <!--Additions charged to costs and expenses-->
  <us-gaap:ProvisionForDoubtfulAccounts id="Fact_1a44a01417bc4ffc8cad1d604be50a6b" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">39000</us-gaap:ProvisionForDoubtfulAccounts>
  <!--Additions charged to costs and expenses-->
  <us-gaap:ProvisionForDoubtfulAccounts id="Fact_e9508cf318ee4fcfaf01a0ba4f33cb2f" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">50000</us-gaap:ProvisionForDoubtfulAccounts>
  <!--Quarterly results of operations (unaudited)-->
  <us-gaap:QuarterlyFinancialInformationTextBlock id="Fact_90a5b902c1c24266a51d8b2e82f4e667" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;16. Quarterly results of operations (unaudited)&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Our quarterly results of operations for 2019 and 2018 are as follows:&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="14" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Quarter Ended&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands, except per share amounts)&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;March 31&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;June 30&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;September 30&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;December 31&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom;"&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2019:&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net sales&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;11,550&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;11,350&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;11,686&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;11,162&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Gross profit&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6,086&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,704&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,546&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4,599&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net income (loss)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;746&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;186&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;384&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(800&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net income (loss) per common share:&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Basic&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.10&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.02&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.05&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.11&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Diluted&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.10&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.02&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.05&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.11&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom;"&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2018:&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net sales&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;12,243&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;14,751&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;15,838&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;11,755&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Gross profit&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,862&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6,991&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;8,004&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,886&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net income&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;680&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,210&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,574&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;962&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net income per common share:&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Basic&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.09&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.16&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.35&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.13&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Diluted&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.09&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.16&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.33&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.12&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:QuarterlyFinancialInformationTextBlock>
  <!--Receivables, Trade and Other Accounts Receivable, Allowance for Doubtful Accounts, Policy [Policy Text Block]-->
  <us-gaap:ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy id="Fact_4a343f301bab490f9157227f18714b21" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Allowance for doubtful accounts&lt;/font&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;:&lt;/font&gt;&amp;#160;&amp;#160;We establish an allowance for doubtful accounts to ensure trade receivables are valued appropriately. We maintain an allowance for doubtful accounts based on a variety of factors, including the length of time receivables are past due, significant one-time events and historical experience.&amp;#160;&amp;#160;We record a specific allowance for individual accounts when we become aware of a customer&amp;#8217;s inability to meet its financial obligations, such as in the case of bankruptcy filings or deterioration in the customer&amp;#8217;s operating results or financial position.&amp;#160;&amp;#160;If circumstances related to customers change, we would further adjust estimates of the recoverability of receivables.&amp;#160;&amp;#160;&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The following table summarizes the activity recorded in the valuation account for accounts receivable:&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="10" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Year Ended December 31,&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(In thousands)&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2019&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2018&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2017&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Balance, beginning of period&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;205&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;100&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;50&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Additions charged to costs and expenses&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;39&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;105&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;50&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Deductions&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(23&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Balance, end of period&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;221&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;205&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;100&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ReceivablesTradeAndOtherAccountsReceivableAllowanceForDoubtfulAccountsPolicy>
  <!--Research and Development Expense, Policy [Policy Text Block]-->
  <us-gaap:ResearchAndDevelopmentExpensePolicy id="Fact_884e9ce39b0b4c61a8f5456be126b54d" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Engineering, design and product development:&lt;/font&gt;&amp;#160;&amp;#160;Engineering, design and product development expenses include expenses incurred in connection with specialized engineering and design to introduce new products and to customize existing products, and are expensed as a component of operating expenses as incurred.&amp;#160;&amp;#160;We recorded $4.4 million, $4.6 million and $4.3 million of research and development expenses in 2019, 2018, and 2017, respectively.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Costs incurred in the engineering, design and product development of a computer software product are charged to expense until technological feasibility has been established, at which point all material software costs are capitalized within Intangible assets in our Consolidated Balance Sheet until the product is available for general release to customers.&amp;#160;&amp;#160;While judgment is required in determining when technological feasibility of a product is established, we have determined that it is reached after all high-risk development issues have been documented in a formal detailed plan design.&amp;#160;&amp;#160;The amortization of these costs have been included in cost of sales over the estimated life of the product.&amp;#160;&amp;#160;During 2019 and 2018, we contracted several third-parties to develop software for our food service technology products.&amp;#160; Unamortized development costs for such software were $704 thousand as of December 31, 2019.&amp;#160;&amp;#160;The total amount charged to cost of sales for capitalized software development costs was $186 thousand, $30 thousand and $2 thousand in 2019, 2018, and 2017, respectively.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ResearchAndDevelopmentExpensePolicy>
  <!--Engineering, design and product development-->
  <us-gaap:ResearchAndDevelopmentExpense id="Fact_13539c45344f4f1286605e0cf8409a43" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">4393000</us-gaap:ResearchAndDevelopmentExpense>
  <!--Engineering, design and product development-->
  <us-gaap:ResearchAndDevelopmentExpense id="Fact_355b630f797c4bb19e89607109e6ac74" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">4303000</us-gaap:ResearchAndDevelopmentExpense>
  <!--Engineering, design and product development-->
  <us-gaap:ResearchAndDevelopmentExpense id="Fact_f6554a4eab6d4e6ab86cc4367b58e081" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">4576000</us-gaap:ResearchAndDevelopmentExpense>
  <!--Retained earnings-->
  <us-gaap:RetainedEarningsAccumulatedDeficit id="Fact_bc9a749530804c238869d907c990aece" contextRef="c20181231" unitRef="U001" decimals="-3">27515000</us-gaap:RetainedEarningsAccumulatedDeficit>
  <!--Retained earnings-->
  <us-gaap:RetainedEarningsAccumulatedDeficit id="Fact_e5a25a89f7aa4780adc3fbec5d0df3b6" contextRef="c20191231" unitRef="U001" decimals="-3">25348000</us-gaap:RetainedEarningsAccumulatedDeficit>
  <!--Revenue recognition-->
  <us-gaap:RevenueFromContractWithCustomerPolicyTextBlock id="Fact_ff2ba7cf6dd142b9a6c9815b5ed774ca" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; margin-bottom: 8pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Revenue recognition:&lt;/font&gt;&amp;#160;We account for revenue in accordance with ASC Topic 606: Revenue from Contracts with Customers. We adopted ASC 606 effective January 1, 2018 and elected the modified retrospective approach.&amp;#160; The results for periods before 2018 were not adjusted for the new standard and there was no cumulative effect for the change in accounting at the date of adoption.&amp;#160; In accordance with ASC 606, a performance obligation is a promise in a contract with a customer to transfer a distinct good or service to the customer. Some of our contracts with customers contain a single performance obligation, while other contracts contain multiple performance obligations (most commonly when contracts include a hardware product, software and extended warranties).&amp;#160; A contract's transaction price is allocated to each distinct performance obligation and recognized as revenue when, or as, the performance obligation is satisfied.&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The transaction price is determined based on the consideration to which the Company will be entitled in exchange for transferring services to the customer.&amp;#160; To the extent the transaction price includes variable consideration, such as price protection, reserves for returns and other allowances, the Company estimates the amount of variable consideration that should be included in the transaction price utilizing either the &amp;#8220;expected value&amp;#8221; method or the &amp;#8220;most likely amount&amp;#8221; method depending on the nature of the variable consideration.&amp;#160; Variable consideration is included in the transaction price if, in the Company&amp;#8217;s judgment, it is probable that a significant future reversal of cumulative revenue under the contract will not occur.&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;&lt;/font&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;For a majority of our revenue, which consists of printers, terminals, consumables, and replacement parts, the Company recognizes revenue as of a point of time.&amp;#160; The transaction price is recognized upon shipment of the order when control of the goods is transferred to the customer and at the time the performance obligation is fulfilled.&amp;#160; We also sell a software solution in our casino and gaming market, EPICENTRAL&amp;#8482;, that enables casino operators to create promotional coupons and marketing messages and to print them in real-time at the slot machine.&amp;#160; EPICENTRAL&lt;sup&gt;TM&lt;/sup&gt; is primarily comprised of both a software component, which is licensed to the customer, and a hardware component.&amp;#160; EPICENTRAL&amp;#8482; software and hardware are integrated to deliver the system's full functionality.&amp;#160; The transaction prices from EPICENTRAL&amp;#8482; software license and hardware are recognized upon installation and formal acceptance by the customer when control of the license is transferred to the customer.&amp;#160; For out-of-warranty repairs, the transaction price is recognized after the repair work is completed and the printer or terminal is returned to the customer, as control of the product is transferred to the customer and our performance obligation is completed.&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif;"&gt;&lt;/font&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Performance obligations are satisfied over time if the customer receives the benefits as we perform work, if the customer controls the asset as it is being produced, or if the product being produced for the customer has no alternative use and we have a contractual right to payment.&amp;#160; For our separately priced extended warranty, BOHA! cloud-based software applications, technical support for our food service technology terminals and maintenance agreements (including free one-year maintenance received by customers upon completion of EPICENTRAL&amp;#8482; installation) revenue is recognized over time as the customer receives the benefit.&amp;#160; The transaction price from the maintenance services is recognized ratably over time, using output methods, as control of the services is transferred to the customer.&amp;#160; Our cloud-based BOHA! software allows customers to use hosted software over the contract period without taking possession of the software and are provided on a subscription basis and is recognized ratably over the contract period.&amp;#160; For extended warranties, the transaction price is recognized ratably over the warranty period, using output methods, as control of the services is transferred to the customer.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;When there is more than one performance obligation in a customer arrangement, the Company typically uses the &amp;#8220;standalone selling price&amp;#8221; method to determine the transaction price to allocate to each performance obligation. The Company sells the performance obligations separately and has established standalone selling prices for its products and services. In the case of an overall price discount, the discount is applied to each performance obligation proportionately based on standalone selling price. To determine the standalone selling price for initial EPICENTRAL&amp;#8482; installations, the Company uses the adjusted market assessment approach.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; margin-bottom: 8pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;For contracts with terms of less than 12 months, the Company expenses sales commissions as they are incurred, since the expected amortization period of the cost to obtain a contract is less than 12 months.&amp;#160; Prior to the adoption of ASC 606 in 2018, cost to obtain a contract were expensed as incurred regardless of the length of contract.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Disaggregation of revenue&lt;/div&gt;&lt;div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The following table disaggregates our revenue by market-type, as we believe it best depicts how the nature, amount, timing and uncertainty of our revenue and cash flows are affected by economic factors.&amp;#160; Sales and usage-based taxes are excluded from revenues.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="10" valign="bottom" style="vertical-align: top; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Year Ended&lt;/div&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31, 2019&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: top; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;United States&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: top; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;International&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="10" valign="bottom" style="vertical-align: top;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Food Service Technology&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,522&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;582&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6,104&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;POS Automation and Banking&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,714&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;44&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,758&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Casino and Gaming&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;13,076&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;8,453&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;21,529&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Lottery&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,290&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,291&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Printrex&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;961&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;205&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,166&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;TransAct Services Group&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;8,769&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,131&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;9,900&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; margin-left: 16.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total net sales&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;35,332&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;10,416&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;45,748&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="10" valign="bottom" style="vertical-align: top; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Year Ended&lt;/div&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31, 2018&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: top; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;United States&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: top; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;International&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="10" valign="bottom" style="vertical-align: top;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Food Service Technology&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4,640&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;446&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,086&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;POS Automation and Banking&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,122&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;151&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,273&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Casino and Gaming&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;17,518&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;9,075&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;26,593&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Lottery&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,046&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;47&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,093&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Printrex&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,028&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;269&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,297&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;TransAct Services Group&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;10,164&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,081&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;11,245&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; margin-left: 16.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total net sales&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;43,518&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;11,069&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;54,587&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="10" valign="bottom" style="vertical-align: top; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Year Ended&lt;/div&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31, 2017&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: top; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;United States&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: top; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;International&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="10" valign="bottom" style="vertical-align: top;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Food Service Technology&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4,488&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;374&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4,862&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;POS Automation and Banking&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,596&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;309&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,905&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Casino and Gaming&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;13,608&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,007&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;18,615&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Lottery&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;8,626&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,179&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;9,805&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Printrex&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;849&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;203&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,052&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; margin-left: 7.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;TransAct Services Group&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;13,553&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;519&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;14,072&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; margin-left: 16.2pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total net sales&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;48,720&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,591&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;56,311&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Contract balances&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Our contract liabilities consist of customer pre-payments and deferred revenue.&amp;#160; Customer prepayments are reported as &amp;#8220;Accrued Liabilities&amp;#8221; in current liabilities in the Condensed Consolidated Balance Sheets and represent customer payments made in advance of performance obligations in instances where credit has not been extended and is recognized as revenue when the performance obligation is complete.&amp;#160; Deferred revenue is reported separately in current liabilities and non-current liabilities and consists of our extended warranty contracts, technical support for our food service technology terminals, EPICENTRAL&amp;#8482; maintenance contracts and testing service contracts and prepaid software subscriptions for our BOHA! software applications, and is recognized as revenue as (or when) we perform under the contract.&amp;#160; The increase in current and non-current deferred revenue is primarily due to the sale of BOHA! software subscriptions, extended warranties and technical support for our food service technology terminals.&amp;#160; We do not have any contract asset balances as of December 31, 2019 or 2018.&amp;#160; During the year ended December 31, 2019, we recognized revenue of $0.4 million related to our contract liabilities as of December 31, 2018.&amp;#160; Total contract liabilities consist of the following:&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31, 2019&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31, 2018&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="6" valign="bottom" style="vertical-align: bottom;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Customer pre-payments&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;232&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;50&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Deferred revenue, current&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;700&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;384&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Deferred revenue, non-current&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;219&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;265&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total contract liabilities&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;1,151&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;699&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Remaining performance obligations&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Remaining performance obligations represent the transaction price of firm orders for which a good or service has not been delivered to our customer.&amp;#160; As of December 31, 2019, the aggregate amount of the transaction price allocated to remaining performance obligations was $5.8 million.&amp;#160; The Company expects to recognize revenue on $5.5 million of our remaining performance obligations within the next 12 months, $0.2 million within the next 24 months and the balance of these remaining performance obligations recognized within the next 36 months.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:RevenueFromContractWithCustomerPolicyTextBlock>
  <!--Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period-2022-01-01 [Member]-->
  <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1 id="Fact_378e7f9ab91b45ae9a0558a317c540d5" contextRef="c20191231_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20220101Member">P12M</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
  <!--Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period-2021-01-01 [Member]-->
  <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1 id="Fact_6b180227e9b94813ab26bc0446ed64b5" contextRef="c20191231_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20210101Member">P12M</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
  <!--Revenue, Remaining Performance Obligation, Expected Timing of Satisfaction, Period-2020-01-01 [Member]-->
  <us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1 id="Fact_fcc06178453541238128584f4cbb9fd8" contextRef="c20191231_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20200101Member">P12M</us-gaap:RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionPeriod1>
  <!--Revenue, Remaining Performance Obligation, Amount-->
  <us-gaap:RevenueRemainingPerformanceObligation id="Fact_799f5c1ce5334894b2ed7dda8b1f481d" contextRef="c20191231" unitRef="U001" decimals="-5">5800000</us-gaap:RevenueRemainingPerformanceObligation>
  <!--Revenue, Remaining Performance Obligation, Amount-2022-01-01 [Member]-->
  <us-gaap:RevenueRemainingPerformanceObligation id="Fact_b5500c1c63e8407c8a4db7d5e011cf3f" contextRef="c20191231_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20220101Member" unitRef="U001" xsi:nil="true" />
  <!--Revenue, Remaining Performance Obligation, Amount-2020-01-01 [Member]-->
  <us-gaap:RevenueRemainingPerformanceObligation id="Fact_da0bf51450ff46df9c913131d365336d" contextRef="c20191231_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20200101Member" unitRef="U001" decimals="-5">5500000</us-gaap:RevenueRemainingPerformanceObligation>
  <!--Revenue, Remaining Performance Obligation, Amount-2021-01-01 [Member]-->
  <us-gaap:RevenueRemainingPerformanceObligation id="Fact_fb566621390942978a905ce786c9a1b1" contextRef="c20191231_RevenueRemainingPerformanceObligationExpectedTimingOfSatisfactionStartDateAxis_20210101Member" unitRef="U001" decimals="-5">200000</us-gaap:RevenueRemainingPerformanceObligation>
  <!--Net sales-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_05f1c6a438c246bb9a98ab5809cc036c" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">45748000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_6a3f67cdc49f4dc08200c142fc2004b6" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">56311000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_6dfcfe7d0179458dbeae3e2551ebd119" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">54587000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-Lottery [Member]-United States [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_02287f36ee9b41ae8d9acda506598d58" contextRef="c20170101to20171231_ProductOrServiceAxis_LotteryMember_StatementGeographicalAxis_US" unitRef="U001" decimals="-3">8626000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-International [Member]-Casino and Gaming [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_06db7920ae95456e8405751bce909a8b" contextRef="c20170101to20171231_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3">5007000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-Printrex [Member]-United States [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_09616f743b794208bb392a1abc897753" contextRef="c20190101to20191231_ProductOrServiceAxis_PrintrexMember_StatementGeographicalAxis_US" unitRef="U001" decimals="-3">961000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-TransAct Services Group [Member]-United States [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_09814fd2173945aabc62b058239ae9fe" contextRef="c20170101to20171231_ProductOrServiceAxis_TransActServicesGroupMember_StatementGeographicalAxis_US" unitRef="U001" decimals="-3">13553000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-TransAct Services Group [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_0bd3efecaeec419096660d9d3f0af3f5" contextRef="c20170101to20171231_ProductOrServiceAxis_TransActServicesGroupMember" unitRef="U001" decimals="-3">14072000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-International [Member]-TransAct Services Group [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_0ca8b07b6aab4870a1a810b66323e3d7" contextRef="c20190101to20191231_ProductOrServiceAxis_TransActServicesGroupMember_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3">1131000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-TransAct Services Group [Member]-United States [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_0ef34af8259541b2a8fa6abe4ca6f6b4" contextRef="c20180101to20181231_ProductOrServiceAxis_TransActServicesGroupMember_StatementGeographicalAxis_US" unitRef="U001" decimals="-3">10164000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-United States [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_19e51d0d483b4480b2a3995b249be17b" contextRef="c20170101to20171231_StatementGeographicalAxis_US" unitRef="U001" decimals="-3">48720000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-International [Member]-Printrex [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_24ef4f45a9a34decbbad3a177a1c1ad1" contextRef="c20170101to20171231_ProductOrServiceAxis_PrintrexMember_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3">203000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-International [Member]-Lottery [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_2bac0371501344c0ae2cb8cd37107ab2" contextRef="c20180101to20181231_ProductOrServiceAxis_LotteryMember_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3">47000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-United States [Member]-TransAct Services Group [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_2cdc48feb6d7461f81c6dc825b11d35e" contextRef="c20190101to20191231_ProductOrServiceAxis_TransActServicesGroupMember_StatementGeographicalAxis_US" unitRef="U001" decimals="-3">8769000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-International [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_2f15889e445b4ce2a3552023ced075e5" contextRef="c20190101to20191231_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3">10416000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-TransAct Services Group [Member]-International [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_32c456f84a344b90bf092b62c0091bbc" contextRef="c20180101to20181231_ProductOrServiceAxis_TransActServicesGroupMember_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3">1081000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-POS Automation and Banking [Member]-United States [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_39d8211eed104a579dc8b938984abd79" contextRef="c20190101to20191231_ProductOrServiceAxis_POSAutomationAndBankingMember_StatementGeographicalAxis_US" unitRef="U001" decimals="-3">5714000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-TransAct Services Group [Member]-International [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_414ce8357d614ce19d0e97650e59722a" contextRef="c20170101to20171231_ProductOrServiceAxis_TransActServicesGroupMember_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3">519000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-United States [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_41ef3b7ca3ac4fe68c222397362743f1" contextRef="c20190101to20191231_StatementGeographicalAxis_US" unitRef="U001" decimals="-3">35332000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-Casino and Gaming [Member]-United States [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_45246aa0be9b42e7a45f26625baa8844" contextRef="c20170101to20171231_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_US" unitRef="U001" decimals="-3">13608000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-International [Member]-POS Automation and Banking [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_52969af156fb4e5f8a8698420d48e3d4" contextRef="c20180101to20181231_ProductOrServiceAxis_POSAutomationAndBankingMember_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3">151000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-Food Service Technology [Member]-United States [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_0c6c00d132f34297b80e74b691658387" contextRef="c20190101to20191231_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_US" unitRef="U001" decimals="-3">5522000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-Casino and Gaming [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_61072bef47064bd78691a2f0b2992eb5" contextRef="c20170101to20171231_ProductOrServiceAxis_CasinoAndGamingMember" unitRef="U001" decimals="-3">18615000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-Printrex [Member]-United States [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_6679c29e056e492fb6df9b1a1b34b0ef" contextRef="c20170101to20171231_ProductOrServiceAxis_PrintrexMember_StatementGeographicalAxis_US" unitRef="U001" decimals="-3">849000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-Lottery [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_66ec443db7d44038a96e918d1f98f5c8" contextRef="c20190101to20191231_ProductOrServiceAxis_LotteryMember" unitRef="U001" decimals="-3">1291000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-International [Member]-Food Service Technology [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_25500e41de7c482bbbc6c536b84cc07f" contextRef="c20170101to20171231_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3">374000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-Food Service Technology [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_ad180448ed214e5d8178e920790d7492" contextRef="c20190101to20191231_ProductOrServiceAxis_FoodServiceTechnologyMember" unitRef="U001" decimals="-3">6104000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-International [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_6dea1d7e0c6043199d08cb18fbab7e75" contextRef="c20170101to20171231_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3">7591000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-Food Service Technology [Member]-United States [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_af65bf1d617446efadf9f0952921e138" contextRef="c20180101to20181231_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_US" unitRef="U001" decimals="-3">4640000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-United States [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_79b5d70421a24706be2171cf935a6261" contextRef="c20180101to20181231_StatementGeographicalAxis_US" unitRef="U001" decimals="-3">43518000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-International [Member]-Casino and Gaming [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_7d3bb7de8d4e46beb3b14cb0d3a2588b" contextRef="c20190101to20191231_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3">8453000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-United States [Member]-POS Automation and Banking [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_802fa7c8eb05419fbc68c2ec25dfa38d" contextRef="c20180101to20181231_ProductOrServiceAxis_POSAutomationAndBankingMember_StatementGeographicalAxis_US" unitRef="U001" decimals="-3">7122000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-Printrex [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_86b1ac5704f54b29b3e74ca7e1ac1b8f" contextRef="c20180101to20181231_ProductOrServiceAxis_PrintrexMember" unitRef="U001" decimals="-3">1297000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-Food Service Technology [Member]-International [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_cd7db01f03bf49e5b6f034f82626a47b" contextRef="c20190101to20191231_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3">582000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-Lottery [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_914716cf9a064a05bc256475cba0fb2b" contextRef="c20180101to20181231_ProductOrServiceAxis_LotteryMember" unitRef="U001" decimals="-3">3093000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-United States [Member]-Lottery [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_98ba61621eae4847b5006db807f30df1" contextRef="c20190101to20191231_ProductOrServiceAxis_LotteryMember_StatementGeographicalAxis_US" unitRef="U001" decimals="-3">1290000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-TransAct Services Group [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_a102dbe7b24847889421606ec7f65c44" contextRef="c20180101to20181231_ProductOrServiceAxis_TransActServicesGroupMember" unitRef="U001" decimals="-3">11245000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-Casino and Gaming [Member]-United States [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_a652b79a9625489a8b29a6b82d4e66c2" contextRef="c20180101to20181231_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_US" unitRef="U001" decimals="-3">17518000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-Food Service Technology [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_d0bb331012954f4db274054c768b1607" contextRef="c20170101to20171231_ProductOrServiceAxis_FoodServiceTechnologyMember" unitRef="U001" decimals="-3">4862000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-Casino and Gaming [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_be877e5224744d6a8fd437f8073898ce" contextRef="c20190101to20191231_ProductOrServiceAxis_CasinoAndGamingMember" unitRef="U001" decimals="-3">21529000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-United States [Member]-Food Service Technology [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_d71e8633fab44e89ab710ab4df4442a6" contextRef="c20170101to20171231_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_US" unitRef="U001" decimals="-3">4488000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-POS Automation and Banking [Member]-United States [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_bfddf00bdc3e405c9d5df914c2dfc65e" contextRef="c20170101to20171231_ProductOrServiceAxis_POSAutomationAndBankingMember_StatementGeographicalAxis_US" unitRef="U001" decimals="-3">7596000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-POS Automation and Banking [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_c02b944495714165bba835ea00b2365c" contextRef="c20180101to20181231_ProductOrServiceAxis_POSAutomationAndBankingMember" unitRef="U001" decimals="-3">7273000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-International [Member]-Food Service Technology [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_e28859689ae944928b2d03ebbf46c11f" contextRef="c20180101to20181231_ProductOrServiceAxis_FoodServiceTechnologyMember_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3">446000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-International [Member]-Lottery [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_c524eb68e6834b88b217ca925d1cc5de" contextRef="c20170101to20171231_ProductOrServiceAxis_LotteryMember_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3">1179000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-Lottery [Member]-International [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_c587d1dfbd9645bda2c8e8b581feb8b5" contextRef="c20190101to20191231_ProductOrServiceAxis_LotteryMember_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3">1000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-International [Member]-Casino and Gaming [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_cf0f1240790745318a0986641191a0aa" contextRef="c20180101to20181231_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3">9075000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-International [Member]-POS Automation and Banking [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_d2abd3e50c534f398fb9e7e8ea799398" contextRef="c20190101to20191231_ProductOrServiceAxis_POSAutomationAndBankingMember_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3">44000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-Printrex [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_d62a04dfcfb24f22b79188c461658ed8" contextRef="c20170101to20171231_ProductOrServiceAxis_PrintrexMember" unitRef="U001" decimals="-3">1052000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-Printrex [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_d99dafe5123444f6a4fe7dd9d29d378b" contextRef="c20190101to20191231_ProductOrServiceAxis_PrintrexMember" unitRef="U001" decimals="-3">1166000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-POS Automation and Banking [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_daab036fb0bf4e4e93da6fe9318d03f2" contextRef="c20190101to20191231_ProductOrServiceAxis_POSAutomationAndBankingMember" unitRef="U001" decimals="-3">5758000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-Printrex [Member]-International [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_db096f9e65204ac2be7b3aff479844dc" contextRef="c20180101to20181231_ProductOrServiceAxis_PrintrexMember_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3">269000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-Casino and Gaming [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_ddfb93b7a5b1466797ce4a8dcecb3a35" contextRef="c20180101to20181231_ProductOrServiceAxis_CasinoAndGamingMember" unitRef="U001" decimals="-3">26593000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-POS Automation and Banking [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_de43f1f177854bd5aa31dece72f98e61" contextRef="c20170101to20171231_ProductOrServiceAxis_POSAutomationAndBankingMember" unitRef="U001" decimals="-3">7905000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-Lottery [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_de6fdeb6b97f460ab493b5c75f45bcac" contextRef="c20170101to20171231_ProductOrServiceAxis_LotteryMember" unitRef="U001" decimals="-3">9805000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-Lottery [Member]-United States [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_e393d4ebca9446aa9d67c8c181b8d797" contextRef="c20180101to20181231_ProductOrServiceAxis_LotteryMember_StatementGeographicalAxis_US" unitRef="U001" decimals="-3">3046000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-United States [Member]-Printrex [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_e509b34db99942559513112e0e1f3eb3" contextRef="c20180101to20181231_ProductOrServiceAxis_PrintrexMember_StatementGeographicalAxis_US" unitRef="U001" decimals="-3">1028000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-Food Service Technology [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_f4c68cff12cf4732835a179bcf882634" contextRef="c20180101to20181231_ProductOrServiceAxis_FoodServiceTechnologyMember" unitRef="U001" decimals="-3">5086000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-Casino and Gaming [Member]-United States [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_e8e9a2cd283d477d90fd678c55933f4a" contextRef="c20190101to20191231_ProductOrServiceAxis_CasinoAndGamingMember_StatementGeographicalAxis_US" unitRef="U001" decimals="-3">13076000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-International [Member]-Printrex [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_ead52b7d129249c7b683d77a1699e4b9" contextRef="c20190101to20191231_ProductOrServiceAxis_PrintrexMember_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3">205000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-International [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_ec665f7c7ad940e7bb25af3afd8d6103" contextRef="c20180101to20181231_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3">11069000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-TransAct Services Group [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_ee3b3931020240d89179d0f79f8f3f22" contextRef="c20190101to20191231_ProductOrServiceAxis_TransActServicesGroupMember" unitRef="U001" decimals="-3">9900000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-POS Automation and Banking [Member]-International [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_f1e435e759c640f7a145eb6f06b2aa71" contextRef="c20170101to20171231_ProductOrServiceAxis_POSAutomationAndBankingMember_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3">309000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-Reportable Geographical Components [Member]-International [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_1a557c5b9002454890c13d21bcd74296" contextRef="c20170101to20171231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3">7591000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-United States [Member]-Reportable Geographical Components [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_349142eff0b547f387c24dd8a66cda46" contextRef="c20180101to20181231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_US" unitRef="U001" decimals="-3">43518000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-Reportable Geographical Components [Member]-International [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_47a7ff0211334c4e9664c74d85e0cc01" contextRef="c20190101to20191231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3">10416000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-International [Member]-Reportable Geographical Components [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_5620726e7c2f4192b39b875085d8ab02" contextRef="c20180101to20181231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_InternationalMember" unitRef="U001" decimals="-3">11069000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-Reportable Geographical Components [Member]-United States [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_91cf5744af6b496fa093399d03d8832b" contextRef="c20190101to20191231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_US" unitRef="U001" decimals="-3">35332000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-United States [Member]-Reportable Geographical Components [Member]-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_9d4f63e701e1461abfb3f0f8afc01fe8" contextRef="c20170101to20171231_ConsolidationItemsAxis_ReportableGeographicalComponentsMember_StatementGeographicalAxis_US" unitRef="U001" decimals="-3">48720000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_0ff06184beff40ff9a390ac579d76be5" contextRef="c20191001to20191231" unitRef="U001" decimals="-3">11162000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_3a8b5b2c36014700872d4da40869ceb9" contextRef="c20190701to20190930" unitRef="U001" decimals="-3">11686000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_8adcc2ede5d24ddc8cf0236e6bb7d180" contextRef="c20180101to20180331" unitRef="U001" decimals="-3">12243000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_91638a03d45c4047900c35d7a78e4790" contextRef="c20190101to20190331" unitRef="U001" decimals="-3">11550000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_b1133e5cb083422b8c189c70a5eb7fdc" contextRef="c20180701to20180930" unitRef="U001" decimals="-3">15838000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_c72e6599b72f49b29283c5014ce172d8" contextRef="c20181001to20181231" unitRef="U001" decimals="-3">11755000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_f5c5000c4a4c4e3dbdae5ff628ca9d49" contextRef="c20190401to20190630" unitRef="U001" decimals="-3">11350000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Net sales-->
  <us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax id="Fact_fa8d0600cbfd4c7f865da4abae92ff87" contextRef="c20180401to20180630" unitRef="U001" decimals="-3">14751000</us-gaap:RevenueFromContractWithCustomerExcludingAssessedTax>
  <!--Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Aggregate Intrinsic Value, Vested-Restricted Share Units [Member]-Equity Incentive Plan 2005 and Equity Incentive Plan 2014 [Member]-->
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested id="Fact_9962dfac294f428097facf7edef1a374" contextRef="c20190101to20191231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U001" decimals="-3">994000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardEquityInstrumentsOtherThanOptionsAggregateIntrinsicValueVested>
  <!--Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Weighted Average Remaining Contractual Term-Stock Options [Member]-Equity Incentive Plan 2005 and Equity Incentive Plan 2014 [Member]-->
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1 id="Fact_ae7b044a0a094b248432883e4e19d3cb" contextRef="c20190101to20191231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member">P4Y1M6D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableWeightedAverageRemainingContractualTerm1>
  <!--Weighted average fair value of grants (in dollars per share)-Equity Incentive Plan 2014 [Member]-Restricted Share Units [Member]-->
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue id="Fact_2fa76cb0d0d7495f96def5ef6d760dc1" contextRef="c20191231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2014Member" unitRef="U003" decimals="2">10.46</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
  <!--Weighted average fair value of grants (in dollars per share)-Stock Options [Member]-Equity Incentive Plan 2014 [Member]-->
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue id="Fact_476118df2eb5428aa2da2ad6d3e89f8f" contextRef="c20171231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2014Member" unitRef="U003" decimals="2">1.95</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
  <!--Weighted average fair value of grants (in dollars per share)-Restricted Share Units [Member]-Equity Incentive Plan 2014 [Member]-->
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue id="Fact_7560ea2aec364d6189b8033e45b4310b" contextRef="c20171231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2014Member" unitRef="U003" decimals="2">7.53</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
  <!--Weighted average fair value of grants (in dollars per share)-Restricted Share Units [Member]-Equity Incentive Plan 2014 [Member]-->
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue id="Fact_b22298169d4748ca998318abcbd13db3" contextRef="c20181231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2014Member" unitRef="U003" decimals="2">12.91</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
  <!--Weighted average fair value of grants (in dollars per share)-Equity Incentive Plan 2014 [Member]-Stock Options [Member]-->
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue id="Fact_f09ee2b217d141878089abdb383af4f3" contextRef="c20181231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2014Member" unitRef="U003" decimals="2">4.38</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
  <!--Weighted average fair value of grants (in dollars per share)-Equity Incentive Plan 2014 [Member]-Stock Options [Member]-->
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue id="Fact_f1026da98ea44110ba13db07c4ee37a8" contextRef="c20191231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2014Member" unitRef="U003" decimals="2">3.01</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsNonvestedWeightedAverageGrantDateFairValue>
  <!--Term of award-Stock Options [Member]-->
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod id="Fact_beb9bee6d1bc4941a205af0aa8fcad67" contextRef="c20190101to20191231_AwardTypeAxis_EmployeeStockOptionMember">P10Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod>
  <!--Term of award-Stock Options [Member]-Equity Incentive Plan 2014 [Member]-->
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod id="Fact_0355b0b03eff4168b37ea6a455d4cbb8" contextRef="c20190101to20191231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2014Member">P10Y</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardExpirationPeriod>
  <!--Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested in Period, Fair Value-->
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1 id="Fact_1f64ee66b0da4d61bd281d17833c8fbc" contextRef="c20190101to20191231" unitRef="U001" decimals="-5">1600000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1>
  <!--Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested in Period, Fair Value-->
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1 id="Fact_505159d180944c72b3f605502751db16" contextRef="c20170101to20171231" unitRef="U001" decimals="-5">1100000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1>
  <!--Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested in Period, Fair Value-->
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1 id="Fact_5f6552d7e4994a6498b5435b104f34eb" contextRef="c20180101to20181231" unitRef="U001" decimals="-5">1100000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedInPeriodFairValue1>
  <!--Expected option term-Equity Incentive Plan 2014 [Member]-->
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 id="Fact_0c5a867e38014800909759745f2d79f6" contextRef="c20180101to20181231_PlanNameAxis_EquityIncentivePlan2014Member">P6Y9M18D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
  <!--Expected option term-Equity Incentive Plan 2014 [Member]-->
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 id="Fact_940329d306ca4ddabda0e9f4ed690d3e" contextRef="c20170101to20171231_PlanNameAxis_EquityIncentivePlan2014Member">P6Y9M18D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
  <!--Expected option term-Equity Incentive Plan 2014 [Member]-->
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1 id="Fact_961c233e27f446828a8b14f409792199" contextRef="c20190101to20191231_PlanNameAxis_EquityIncentivePlan2014Member">P6Y9M18D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardFairValueAssumptionsExpectedTerm1>
  <!--Options vested and expected to vest-Stock Options [Member]-Equity Incentive Plan 2005 and Equity Incentive Plan 2014 [Member]-->
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1 id="Fact_240c326ddde040baada148df188350a9" contextRef="c20190101to20191231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member">P5Y8M12D</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingWeightedAverageRemainingContractualTerm1>
  <!--Options exercisable, end of period-Stock Options [Member]-Equity Incentive Plan 2005 and Equity Incentive Plan 2014 [Member]-->
  <us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1 id="Fact_5b42d1a4291f49bfb86db49cc116c2f0" contextRef="c20191231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U001" decimals="-2">1888000</us-gaap:SharebasedCompensationArrangementBySharebasedPaymentAwardOptionsExercisableIntrinsicValue1>
  <!--Product warranty liability-->
  <us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock id="Fact_2a55053c1b38410d989a53cfaf4f075f" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The following table summarizes the activity recorded in the accrued product warranty liability:&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="10" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Year Ended December 31,&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(In thousands)&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2019&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2018&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2017&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Balance, beginning of period&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;273&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;267&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;267&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Warranties issued&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;181&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;269&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;259&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Warranty settlements&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(239&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(263&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(259&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Balance, end of period&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;215&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;273&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;267&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfProductWarrantyLiabilityTableTextBlock>
  <!--Inventories, net-->
  <us-gaap:ScheduleOfInventoryCurrentTableTextBlock id="Fact_b26ca005b6cd4ba4aecdc4f3e73e3521" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The components of inventories, net are:&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="6" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;December 31,&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2019&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2018&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Raw materials and purchased component parts&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,724&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6,593&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Work-in-process&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#8211;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;29&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Finished goods&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4,375&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6,213&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;12,099&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;12,835&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfInventoryCurrentTableTextBlock>
  <!--Assumptions used in option valuation calculations-->
  <us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock id="Fact_834b1fd50f1e4de7b7237f1f8f1eb820" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The table below indicates the key assumptions used in the option valuation calculations for options granted in 2019, 2018, and 2017 and a discussion of our methodology for developing each of the assumptions used in the valuation model:&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="10" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Year Ended December 31,&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2019&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2018&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2017&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Expected option term (in years)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6.8&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6.8&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6.8&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Expected volatility&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;38.8&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;38.0&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;36.2&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Risk-free interest rate&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2.6&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2.7&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2.1&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Dividend yield&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3.5&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2.6&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4.3&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedPaymentAwardStockOptionsValuationAssumptionsTableTextBlock>
  <!--Net sales and fixed assets by geographic area-->
  <us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock id="Fact_942be1b1e6754572a3a04e58f5f31ffa" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Information regarding our operations by geographic area is contained in the following table.&amp;#160;&amp;#160;These amounts in the geographic area table are based on the location of the customer and asset.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="10" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Year Ended December 31,&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2019&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2018&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2017&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net sales:&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;United States&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;35,332&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;43,518&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;48,720&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;International&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;10,416&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;11,069&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,591&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;45,748&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;54,587&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;56,311&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Fixed assets, net:&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;United States&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,326&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,767&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,548&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;International&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;918&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;505&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;621&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,244&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,272&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,169&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfRevenuesFromExternalCustomersAndLongLivedAssetsByGeographicalAreasTableTextBlock>
  <!--Stock option activity-->
  <us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock id="Fact_425c0c237f524d639fc547629c4b99d2" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Equity award activity in the 2005 Equity Incentive Plan and 2014 Equity Incentive Plan is summarized below:&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="6" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Stock Options&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="6" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Restricted Stock Units&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Number of Shares&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Average Price*&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Number of Units&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Average Price**&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Outstanding at December 31, 2018&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,004,293&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;9.00&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;98,600&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;9.82&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Granted&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;180,675&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;10.31&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;58,050&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;10.44&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Exercised&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#8211;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#8211;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(45,167&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;9.16&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Forfeited&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(36,625&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;8.72&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(20,908&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;12.12&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 52%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Expired&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(5,875&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6.05&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#8211;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#8211;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 52%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Outstanding at December 31, 2019&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,142,468&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;9.23&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;90,575&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: right; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;10.46&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: left; line-height: 10.25pt;"&gt;&lt;div&gt;&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;"&gt;&lt;tr&gt;&lt;td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;*&lt;/td&gt;&lt;td style="width: auto; vertical-align: top; text-align: left;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;weighted average exercise price per share&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: left; line-height: 10.25pt;"&gt;&lt;div&gt;&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;"&gt;&lt;tr&gt;&lt;td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;**&lt;/td&gt;&lt;td style="width: auto; vertical-align: top; text-align: left;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;weighted-average grant stock price per share&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfShareBasedCompensationStockOptionsActivityTableTextBlock>
  <!--Quarterly Financial Information [Table Text Block]-->
  <us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock id="Fact_c8a54a59ebb3413692edde84278e92d2" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Our quarterly results of operations for 2019 and 2018 are as follows:&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="14" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Quarter Ended&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands, except per share amounts)&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;March 31&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;June 30&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;September 30&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;December 31&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom;"&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2019:&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net sales&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;11,550&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;11,350&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;11,686&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;11,162&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Gross profit&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6,086&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,704&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,546&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4,599&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net income (loss)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;746&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;186&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;384&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(800&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net income (loss) per common share:&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Basic&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.10&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.02&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.05&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.11&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Diluted&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.10&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.02&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.05&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.11&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom;"&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2018:&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net sales&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;12,243&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;14,751&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;15,838&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;11,755&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Gross profit&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,862&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6,991&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;8,004&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,886&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net income&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;680&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,210&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,574&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;962&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net income per common share:&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Basic&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.09&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.16&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.35&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.13&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Diluted&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.09&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.16&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.33&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.12&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfQuarterlyFinancialInformationTableTextBlock>
  <!--Identifiable intangible assets-->
  <us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock id="Fact_ed83a56659654d428f522278e9ea2af9" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Identifiable intangible assets are recorded in Intangible assets in the accompanying Consolidated Balance Sheets and are comprised of the following:&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="14" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;December 31,&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="6" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2019&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="6" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2018&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Gross&lt;/div&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Amount&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Accumulated&lt;/div&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Amortization&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Gross&lt;/div&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Amount&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Accumulated&lt;/div&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Amortization&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Purchased technology&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,526&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(1,792&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,221&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(1,558&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Customer relationships&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,300&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(1,300&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,300&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(1,300&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Trademark&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;480&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(402&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;480&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(354&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Covenant not to compete&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;146&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(146&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;146&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(146&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 52%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Patents&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;56&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(51&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;57&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(49&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 52%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Other&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;80&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(80&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;80&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(80&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 52%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4,588&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(3,771&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4,284&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(3,487&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfFiniteLivedIntangibleAssetsTableTextBlock>
  <!--Schedule of Components of Income Tax Expense (Benefit) [Table Text Block]-->
  <us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock id="Fact_90220479b2fb414ba75fc8367880b505" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: justify; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The components of the income tax provision are as follows:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 10pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="10" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Year Ended December 31,&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2019&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2018&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2017&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom;"&gt;&lt;div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Current:&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div&gt;&lt;div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Federal&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;58&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,049&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,379&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;State&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;51&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;85&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;114&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&lt;div&gt;&lt;div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Foreign&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;36&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;13&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(49&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;145&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,147&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,444&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div&gt;&lt;div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Deferred:&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Federal&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(205&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;10&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,097&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div&gt;&lt;div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;State&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#8211;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;20&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="text-align: left; margin-left: 9pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Foreign&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(94&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(107&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#8211;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&lt;div&gt;&lt;div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(294&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(107&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,117&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="text-align: left; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Income tax provision (benefit)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(149&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,040&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,561&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfComponentsOfIncomeTaxExpenseBenefitTableTextBlock>
  <!--Deferred tax assets and liabilities-->
  <us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock id="Fact_c2124ad09fb940d0a9ba17f5d79d0f96" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Deferred income taxes arise from temporary differences between the tax basis of assets and liabilities and their reported amounts in the Consolidated Financial Statements.&amp;#160;&amp;#160;Our deferred tax assets and liabilities were comprised of the following:&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="6" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;December 31,&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2019&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2018&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Deferred tax assets:&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Foreign net operating losses&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;538&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;390&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Depreciation&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;165&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;71&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Inventory reserves&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;916&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;879&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Deferred revenue&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;58&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;16&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Warranty reserve&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;47&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;60&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Stock compensation expense&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;701&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;682&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Other accrued compensation&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;226&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;233&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;R&amp;amp;D credit carryforward&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;111&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#8211;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Other liabilities and reserves&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;276&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;278&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 27pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Gross deferred tax assets&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,038&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,609&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 27pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Valuation allowance&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(444&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(390&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; text-indent: -18pt; margin-left: 45pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net deferred tax assets&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,594&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,219&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Deferred tax liabilities:&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Other&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;29&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;21&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 36pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net deferred tax liabilities&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;29&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;21&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total net deferred tax assets&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,565&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,198&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfDeferredTaxAssetsAndLiabilitiesTableTextBlock>
  <!--Schedule of Accrued Liabilities [Table Text Block]-->
  <us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock id="Fact_eab144094d05408a8c9ae5d22577d719" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The components of accrued liabilities are:&lt;/div&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="6" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;December 31,&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2019&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2018&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Salaries and compensation related&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,541&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,817&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Warranty&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;174&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;192&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Professional and consulting&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;465&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;231&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Other&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;861&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;525&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,041&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,765&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfAccruedLiabilitiesTableTextBlock>
  <!--Allowance for doubtful accounts-->
  <us-gaap:ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock id="Fact_3328a0b5d12d49fea8e881f5cb7233f1" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The following table summarizes the activity recorded in the valuation account for accounts receivable:&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="10" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Year Ended December 31,&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(In thousands)&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2019&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2018&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2017&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Balance, beginning of period&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;205&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;100&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;50&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Additions charged to costs and expenses&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;39&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;105&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;50&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Deductions&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(23&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;-&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Balance, end of period&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;221&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;205&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;100&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfCreditLossesForFinancingReceivablesCurrentTableTextBlock>
  <!--Schedule of Earnings Per Share, Basic and Diluted [Table Text Block]-->
  <us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock id="Fact_50b399263aaa43f0aed0f10add2e3a0f" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;For 2019, 2018, and 2017, earnings per share was computed as follows (in thousands, except per share amounts):&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="10" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Year Ended December 31,&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2019&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2018&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2017&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net income&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;516&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5,426&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3,211&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Shares:&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Basic:&amp;#160;&amp;#160;Weighted average common shares outstanding&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,466&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,444&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,423&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Add:&amp;#160;&amp;#160;Dilutive effect of outstanding equity awards as determined by the treasury stock method&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;211&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;315&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;169&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Diluted:&amp;#160;&amp;#160;Weighted average common and common equivalent shares outstanding&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,677&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,759&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,592&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net income per common share:&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Basic&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.07&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.73&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.43&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; text-indent: -9pt; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Diluted&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.07&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.70&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.42&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfEarningsPerShareBasicAndDilutedTableTextBlock>
  <!--Schedule of Effective Income Tax Rate Reconciliation [Table Text Block]-->
  <us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock id="Fact_48bc1e539b9b479c945324296b9650c9" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Differences between the U.S. statutory federal income tax rate and our effective income tax rate are analyzed below:&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="10" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Year Ended December 31,&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2019&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2018&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2017&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Federal statutory tax rate&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;21.0&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;21.0&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;34.0&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Valuation allowance and tax accruals&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;14.8&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1.0&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1.6&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;State income taxes, net of federal income taxes&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;12.0&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1.2&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1.3&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Business meals and entertainment&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5.4&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.4&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.4&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Miscellaneous permanent items&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1.4&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.3&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.9&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Uncertain tax positions&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1.0&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#8211;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.1&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Stock option cancellations&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.8&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#8211;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1.7&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;U.S. corporate tax rate change&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#8211;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#8211;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;19.4&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Foreign-derived intangible income deduction&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(5.4&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(1.5&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#8211;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Stock award excess tax benefit&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(8.4&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(1.5&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(1.4&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;R&amp;amp;D credit&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(83.2&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(4.9&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(3.3&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Other&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#8211;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;0.1&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(0.1&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Effective tax rate&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(40.6&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;16.1&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;52.6&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; margin-bottom: 8pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Our effective tax rates were -40.6%, 16.1%, and 52.6% for 2019, 2018, and 2017, respectively.&amp;#160;We recorded a tax benefit in 2019 due to the impact of R&amp;amp;D credits on a near break-even level of income before income tax.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ScheduleOfEffectiveIncomeTaxRateReconciliationTableTextBlock>
  <!--Concentration of risk-->
  <us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock id="Fact_683b3aa05635428cbf08deaa5bee6840" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Accounts receivable from customers representing 10% or more of total accounts receivable were as follows:&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="6" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;December 31,&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2019&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2018&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;International Gaming Technology ("IGT")&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;15&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;21&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Bally Technologies&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;10&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;6&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Sales to customers representing 10% or more of total net sales were as follows:&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="10" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Year Ended December 31,&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2019&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2018&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2017&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;IGT&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;14&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;18&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;35&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:SchedulesOfConcentrationOfRiskByRiskFactorTextBlock>
  <!--Geographic area information-->
  <us-gaap:SegmentReportingDisclosureTextBlock id="Fact_814f4e3568214444a682524814c67f2b" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;14. Geographic area information&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Information regarding our operations by geographic area is contained in the following table.&amp;#160;&amp;#160;These amounts in the geographic area table are based on the location of the customer and asset.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="10" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Year Ended December 31,&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2019&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2018&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2017&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Net sales:&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;United States&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;35,332&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;43,518&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;48,720&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;International&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;10,416&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;11,069&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;7,591&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;45,748&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;54,587&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;56,311&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Fixed assets, net:&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;United States&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,326&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,767&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,548&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 9pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;International&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;918&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;505&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;621&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; margin-left: 18pt; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Total&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,244&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,272&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,169&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Sales to international customers were 23%, 20%, and 14% of total sales in 2019, 2018, and 2017 respectively.&amp;#160;&amp;#160;Sales to Europe represented 44%, 56%, and 44%, sales to the Pacific Rim (which includes Australia and Asia) represented 46%, 36%, and 32%, and sales to Canada represented 8%, 6%, and 18% of total international sales in 2019, 2018, and 2017 respectively.&amp;#160;&amp;#160;International long-lived assets consist of net fixed assets located at our foreign subsidiary in the UK as well as our contract manufacturers in China, Thailand, Malaysia and Mexico.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:SegmentReportingDisclosureTextBlock>
  <!--Segment reporting-->
  <us-gaap:SegmentReportingPolicyPolicyTextBlock id="Fact_6068e20f6d8a44a4ad8791f8d8538d95" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Segment reporting&lt;/font&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;: &lt;/font&gt;We apply the provisions of the Financial Accounting Standards Board (&amp;#8220;FASB&amp;#8221;) Accounting Standards Codification (&amp;#8220;ASC&amp;#8221;) 280, &amp;#8220;Segment Reporting.&amp;#8221;&amp;#160;&amp;#160;We view our operations and manage our business as one segment: the design, development and marketing of software-driven technology and printing solutions and providing printer and terminal related software, services, supplies and spare parts.&amp;#160;&amp;#160;Factors used to identify TransAct&amp;#8217;s single operating segment include the organizational structure of the Company and the financial information available for evaluation by the chief operating decision-maker in making decisions about how to allocate resources and assess performance.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:SegmentReportingPolicyPolicyTextBlock>
  <!--Selling and marketing-->
  <us-gaap:SellingAndMarketingExpense id="Fact_c53bbfbb54e24f6794d0f0ff9380108e" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">7561000</us-gaap:SellingAndMarketingExpense>
  <!--Selling and marketing-->
  <us-gaap:SellingAndMarketingExpense id="Fact_ce492155db994e16938f4e27868bfd06" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">8033000</us-gaap:SellingAndMarketingExpense>
  <!--Selling and marketing-->
  <us-gaap:SellingAndMarketingExpense id="Fact_e434a09e2ee348b18146e3c0475dd674" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">7203000</us-gaap:SellingAndMarketingExpense>
  <!--Exercised (in dollars per share)-Stock Options [Member]-Equity Incentive Plan 2005 and Equity Incentive Plan 2014 [Member]-->
  <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice id="Fact_07007e61363d4d12904ba9a3c73e429b" contextRef="c20190101to20191231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U003" decimals="0">0</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExercisesInPeriodWeightedAverageExercisePrice>
  <!--Granted (in dollars per share)-Stock Options [Member]-Equity Incentive Plan 2005 and Equity Incentive Plan 2014 [Member]-->
  <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice id="Fact_7d650119f63247d29b43f002457de58a" contextRef="c20190101to20191231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U003" decimals="2">10.31</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsGrantsInPeriodWeightedAverageExercisePrice>
  <!--Share-based Compensation Arrangements by Share-based Payment Award, Options, Expirations in Period, Weighted Average Exercise Price-Stock Options [Member]-Equity Incentive Plan 2005 and Equity Incentive Plan 2014 [Member]-->
  <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice id="Fact_04968401fee341cc8d3ca5ad25e8bef3" contextRef="c20190101to20191231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U003" decimals="2">6.05</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsExpirationsInPeriodWeightedAverageExercisePrice>
  <!--Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Outstanding, Weighted Average Remaining Contractual Terms-Restricted Share Units [Member]-Equity Incentive Plan 2005 and Equity Incentive Plan 2014 [Member]-->
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms id="Fact_29082043000a414fb5997d5cfd224d37" contextRef="c20190101to20191231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member">P2Y6M</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsOutstandingWeightedAverageRemainingContractualTerms>
  <!--Share-based Compensation Arrangement by Share-based Payment Award, Non-Option Equity Instruments, Forfeitures-Restricted Share Units [Member]-Equity Incentive Plan 2005 and Equity Incentive Plan 2014 [Member]-->
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures id="Fact_cd850925d9a24bec86fb8784b1cb5f26" contextRef="c20190101to20191231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U002" decimals="INF">20908</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsForfeitures>
  <!--Share-based Compensation Arrangement by Share-based Payment Award, Non-Option Equity Instruments, Exercised-Restricted Share Units [Member]-Equity Incentive Plan 2005 and Equity Incentive Plan 2014 [Member]-->
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised id="Fact_f18d064d9b904a18a4e944f7fb338d63" contextRef="c20190101to20191231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U002" decimals="INF">45167</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExercised>
  <!--Share-based compensation expense-->
  <us-gaap:ShareBasedCompensation id="Fact_16780b30a68043bd9ce7f64d07e31e6d" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">692000</us-gaap:ShareBasedCompensation>
  <!--Share-based compensation expense-->
  <us-gaap:ShareBasedCompensation id="Fact_c06679d0484c41f5ae1ad608729cbb36" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">609000</us-gaap:ShareBasedCompensation>
  <!--Share-based compensation expense-->
  <us-gaap:ShareBasedCompensation id="Fact_dd3da53aeac14b0fa6572606d05e6826" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">629000</us-gaap:ShareBasedCompensation>
  <!--Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding and Exercisable [Table Text Block]-->
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock id="Fact_13f6abba578c4ef1ac1183f81366ac1d" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The following summarizes information about equity awards outstanding that are vested and expect to vest and equity awards that are exercisable at December 31, 2019:&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="14" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Equity Awards Vested and Expected to Vest&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="14" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Equity Awards That Are Exercisable&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Awards&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Average Price*&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Aggregate Intrinsic Value&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Remaining Term**&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Awards&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Average Price*&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Aggregate Intrinsic Value&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Remaining Term**&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 20%; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Stock Options&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,142,468&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;9.23&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2,441&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5.7&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;730,500&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;8.62&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,888&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;4.1&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 20%; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Restricted stock units&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;90,575&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#8211;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;994&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2.5&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#8211;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#8211;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#8211;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 7%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#8211;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: left; line-height: 10.25pt;"&gt;&lt;div&gt;&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;"&gt;&lt;tr&gt;&lt;td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;*&lt;/td&gt;&lt;td style="width: auto; vertical-align: top; text-align: left;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;weighted average exercise price per share&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="text-align: left; line-height: 10.25pt;"&gt;&lt;div&gt;&lt;table cellpadding="0" cellspacing="0" class="DSPFListTable" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; width: 100%; text-align: left; color: #000000;"&gt;&lt;tr&gt;&lt;td style="width: 18pt; vertical-align: top; align: right; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;**&lt;/td&gt;&lt;td style="width: auto; vertical-align: top; text-align: left;"&gt;&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;weighted-average contractual remaining term in years&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAndExercisableTableTextBlock>
  <!--Share-based Compensation Arrangement by Share-based Payment Award, Options, Grants in Period, Gross-Stock Options [Member]-Equity Incentive Plan 2005 and Equity Incentive Plan 2014 [Member]-->
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross id="Fact_73c5f662871947c1b1e5bc22b38f150c" contextRef="c20190101to20191231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U002" decimals="INF">180675</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsGrantsInPeriodGross>
  <!--Vesting period-Stock Options [Member]-Minimum [Member]-->
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 id="Fact_2277b466e7b24c64891735ad725ec166" contextRef="c20190101to20191231_AwardTypeAxis_EmployeeStockOptionMember_RangeAxis_MinimumMember">P2Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
  <!--Vesting period-Stock Options [Member]-Maximum [Member]-->
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1 id="Fact_3f6070619a0f41c6a4be6925aabbc8d3" contextRef="c20190101to20191231_AwardTypeAxis_EmployeeStockOptionMember_RangeAxis_MaximumMember">P5Y</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardAwardVestingPeriod1>
  <!--Share-based Compensation Arrangement by Share-based Payment Award, Non-Option Equity Instruments, Granted-Restricted Share Units [Member]-Equity Incentive Plan 2005 and Equity Incentive Plan 2014 [Member]-->
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted id="Fact_fc74cc5d99ec4fec9ce470db4e5cd42e" contextRef="c20190101to20191231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U002" decimals="INF">58050</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsGranted>
  <!--Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Forfeitures, Weighted Average Grant Date Fair Value-Restricted Share Units [Member]-Equity Incentive Plan 2005 and Equity Incentive Plan 2014 [Member]-->
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue id="Fact_0274df86d6db4e929229ff5a99d8c786" contextRef="c20190101to20191231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U003" decimals="2">12.12</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsForfeituresWeightedAverageGrantDateFairValue>
  <!--Forfeited (in dollars per share)-Stock Options [Member]-Equity Incentive Plan 2005 and Equity Incentive Plan 2014 [Member]-->
  <us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice id="Fact_a4284f6c447b45b2b8e7f99a57f90014" contextRef="c20190101to20191231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U003" decimals="2">8.72</us-gaap:ShareBasedCompensationArrangementsByShareBasedPaymentAwardOptionsForfeituresInPeriodWeightedAverageExercisePrice>
  <!--Share-based Compensation Arrangement by Share-based Payment Award, Non-Option Equity Instruments, Expirations-Restricted Share Units [Member]-Equity Incentive Plan 2005 and Equity Incentive Plan 2014 [Member]-->
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations id="Fact_afca1ecdbebc4b5a97df06381763e176" contextRef="c20190101to20191231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U002" decimals="INF">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsExpirations>
  <!--Share-based Compensation Arrangement by Share-based Payment Award, Non-Option Equity Instruments, Outstanding, Number-Restricted Share Units [Member]-Equity Incentive Plan 2005 and Equity Incentive Plan 2014 [Member]-->
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber id="Fact_f5c4e19be8e8405db4c175d691c3f9c8" contextRef="c20181231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U002" decimals="INF">98600</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber>
  <!--Share-based Compensation Arrangement by Share-based Payment Award, Non-Option Equity Instruments, Outstanding, Number-Restricted Share Units [Member]-Equity Incentive Plan 2005 and Equity Incentive Plan 2014 [Member]-->
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber id="Fact_5bce5d9806814efaba14d601aeb669cf" contextRef="c20191231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U002" decimals="INF">90575</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNonOptionEquityInstrumentsOutstandingNumber>
  <!--Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Dividend Rate-Equity Incentive Plan 2014 [Member]-->
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate id="Fact_30070cce1ef54bf39fb6072d77ff37b2" contextRef="c20180101to20181231_PlanNameAxis_EquityIncentivePlan2014Member" unitRef="U006" decimals="3">0.026</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
  <!--Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Dividend Rate-Equity Incentive Plan 2014 [Member]-->
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate id="Fact_7cdf67c367974e49a63a2023f56dc460" contextRef="c20190101to20191231_PlanNameAxis_EquityIncentivePlan2014Member" unitRef="U006" decimals="3">0.035</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
  <!--Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Expected Dividend Rate-Equity Incentive Plan 2014 [Member]-->
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate id="Fact_eef8269f759a4d0783e2a8843a2fab2e" contextRef="c20170101to20171231_PlanNameAxis_EquityIncentivePlan2014Member" unitRef="U006" decimals="3">0.043</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedDividendRate>
  <!--Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value-Restricted Share Units [Member]-Equity Incentive Plan 2005 and Equity Incentive Plan 2014 [Member]-->
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue id="Fact_2a93b95ba30e440c9221f16e8320d94e" contextRef="c20181231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U003" decimals="2">9.82</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
  <!--Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Nonvested, Weighted Average Grant Date Fair Value-Restricted Share Units [Member]-Equity Incentive Plan 2005 and Equity Incentive Plan 2014 [Member]-->
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue id="Fact_b91a58454c3744d0afc5ccf89ad8d9ed" contextRef="c20191231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U003" decimals="2">10.46</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsNonvestedWeightedAverageGrantDateFairValue>
  <!--Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Grants in Period, Weighted Average Grant Date Fair Value-Restricted Share Units [Member]-Equity Incentive Plan 2005 and Equity Incentive Plan 2014 [Member]-->
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue id="Fact_75c364b2eb2f4c5db4716d0525579fa4" contextRef="c20190101to20191231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U003" decimals="2">10.44</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsGrantsInPeriodWeightedAverageGrantDateFairValue>
  <!--Expected volatility-Equity Incentive Plan 2014 [Member]-->
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate id="Fact_4b3d81529acc47109aa796018b2bedff" contextRef="c20190101to20191231_PlanNameAxis_EquityIncentivePlan2014Member" unitRef="U006" decimals="3">0.388</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
  <!--Expected volatility-Equity Incentive Plan 2014 [Member]-->
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate id="Fact_b11f94cf955b49629384bd0c6dc5688f" contextRef="c20180101to20181231_PlanNameAxis_EquityIncentivePlan2014Member" unitRef="U006" decimals="3">0.380</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
  <!--Expected volatility-Equity Incentive Plan 2014 [Member]-->
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate id="Fact_b2c70748a78f48dd8b2c6956d3e51a63" contextRef="c20170101to20171231_PlanNameAxis_EquityIncentivePlan2014Member" unitRef="U006" decimals="3">0.362</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExpectedVolatilityRate>
  <!--Number of shares authorized (in shares)-Equity Incentive Plan 2014 [Member]-->
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized id="Fact_18deb8f9c74d481fbf84b7f460f11bfd" contextRef="c20191231_PlanNameAxis_EquityIncentivePlan2014Member" unitRef="U002" decimals="INF">1400000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAuthorized>
  <!--Number of shares available for grant (in shares)-Equity Incentive Plan 2014 [Member]-->
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant id="Fact_f9d68ca95189465190a9011c5d1daa40" contextRef="c20191231_PlanNameAxis_EquityIncentivePlan2014Member" unitRef="U002" decimals="INF">332541</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfSharesAvailableForGrant>
  <!--Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value-->
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue id="Fact_7b040961ddea4a9ea91058bb0bd30eca" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">958000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
  <!--Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercises in Period, Intrinsic Value-->
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue id="Fact_cb18923d7cbb46588ea3dbd9cc332d64" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">280000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisesInPeriodTotalIntrinsicValue>
  <!--Options exercisable, end of period (in dollars per share)-Stock Options [Member]-Equity Incentive Plan 2005 and Equity Incentive Plan 2014 [Member]-->
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice id="Fact_8e0ebf69f533443e9f5fcdd89e44e42c" contextRef="c20191231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U003" decimals="2">8.62</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableWeightedAverageExercisePrice>
  <!--Share-based Compensation Arrangement by Share-based Payment Award, Options, Exercisable, Number-Stock Options [Member]-Equity Incentive Plan 2005 and Equity Incentive Plan 2014 [Member]-->
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber id="Fact_d001c7381f6440d5a600f65f58824032" contextRef="c20191231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U002" decimals="INF">730500</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExercisableNumber>
  <!--Share-based Compensation Arrangement by Share-based Payment Award, Options, Expirations in Period-Stock Options [Member]-Equity Incentive Plan 2005 and Equity Incentive Plan 2014 [Member]-->
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod id="Fact_d9d6d7ccb41e44a4ab3576db55b35d56" contextRef="c20190101to20191231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U002" decimals="INF">5875</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsExpirationsInPeriod>
  <!--Risk-free interest rate-Equity Incentive Plan 2014 [Member]-->
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate id="Fact_07548b049a2c4966a75b74a7bcc75c25" contextRef="c20190101to20191231_PlanNameAxis_EquityIncentivePlan2014Member" unitRef="U006" decimals="3">0.026</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
  <!--Risk-free interest rate-Equity Incentive Plan 2014 [Member]-->
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate id="Fact_8b2ad167c6034df8b4a281e0cd7b8c47" contextRef="c20180101to20181231_PlanNameAxis_EquityIncentivePlan2014Member" unitRef="U006" decimals="3">0.027</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
  <!--Risk-free interest rate-Equity Incentive Plan 2014 [Member]-->
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate id="Fact_d3f13a80cd434b85a0d2f8f8ebd53e67" contextRef="c20170101to20171231_PlanNameAxis_EquityIncentivePlan2014Member" unitRef="U006" decimals="3">0.021</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsRiskFreeInterestRate>
  <!--Share-based Compensation Arrangement by Share-based Payment Award, Options, Forfeitures in Period-Stock Options [Member]-Equity Incentive Plan 2005 and Equity Incentive Plan 2014 [Member]-->
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod id="Fact_e00e1bccec544819baed593d88b6f88a" contextRef="c20190101to20191231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U002" decimals="INF">36625</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsForfeituresInPeriod>
  <!--Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Aggregate Intrinsic Value-Equity Incentive Plan 2005 and Equity Incentive Plan 2014 [Member]-Stock Options [Member]-->
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue id="Fact_e35c9f07e1f94f3994c65a1194c6f3bd" contextRef="c20191231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U001" decimals="-3">2441000</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingAggregateIntrinsicValue>
  <!--Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number-Stock Options [Member]-Equity Incentive Plan 2005 and Equity Incentive Plan 2014 [Member]-->
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber id="Fact_692ca9380daf43ebb67487625892dfdc" contextRef="c20181231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U002" decimals="INF">1004293</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
  <!--Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Number-Equity Incentive Plan 2005 and Equity Incentive Plan 2014 [Member]-Stock Options [Member]-->
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber id="Fact_d3e3c0ca382f4230b964946b6ec77989" contextRef="c20191231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U002" decimals="INF">1142468</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingNumber>
  <!--Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price-Equity Incentive Plan 2005 and Equity Incentive Plan 2014 [Member]-Stock Options [Member]-->
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice id="Fact_722a1789a7594eafaa187c1e546a637f" contextRef="c20181231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U003" decimals="2">9.00</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
  <!--Share-based Compensation Arrangement by Share-based Payment Award, Options, Outstanding, Weighted Average Exercise Price-Stock Options [Member]-Equity Incentive Plan 2005 and Equity Incentive Plan 2014 [Member]-->
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice id="Fact_11829b6149e542458f1018c7f5a1cdda" contextRef="c20191231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U003" decimals="2">9.23</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsOutstandingWeightedAverageExercisePrice>
  <!--Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number-Equity Incentive Plan 2005 and Equity Incentive Plan 2014 [Member]-Restricted Share Units [Member]-->
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber id="Fact_5a04dbec1b344f049a9d23f116506bb8" contextRef="c20191231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U002" decimals="INF">90575</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber>
  <!--Share-based Compensation Arrangement by Share-based Payment Award, Options, Vested and Expected to Vest, Outstanding, Number-Stock Options [Member]-Equity Incentive Plan 2005 and Equity Incentive Plan 2014 [Member]-->
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber id="Fact_8f78838659534ec89b64ae18fead9110" contextRef="c20191231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U002" decimals="INF">1142468</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestOutstandingNumber>
  <!--Options vested or expected to vest (in dollars per share)-Stock Options [Member]-Equity Incentive Plan 2005 and Equity Incentive Plan 2014 [Member]-->
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice id="Fact_772152f8b4fe4404ba7b869b484b4c55" contextRef="c20191231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U003" decimals="2">9.23</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice>
  <!--Options vested or expected to vest (in dollars per share)-Equity Incentive Plan 2005 and Equity Incentive Plan 2014 [Member]-Restricted Share Units [Member]-->
  <us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice id="Fact_f23e7e73f1ea4cc4b86de3bd3215498e" contextRef="c20191231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U003" decimals="0">0</us-gaap:ShareBasedCompensationArrangementByShareBasedPaymentAwardOptionsVestedAndExpectedToVestExercisableWeightedAverageExercisePrice>
  <!--Share-based payments-->
  <us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy id="Fact_c7326eceb89d4775b5a274ee9b34b1a9" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Share-based payments:&lt;/font&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;&amp;#160;&lt;/font&gt;At December 31, 2019, we have share-based employee compensation plans, which are described more fully in Note 9 - Stock incentive plans.&amp;#160;&amp;#160;We account for those plans under the recognition and measurement principles of ASC 718, &amp;#8220;Compensation &amp;#8211; Stock Compensation&amp;#8221; (&amp;#8220;ASC 718&amp;#8221;).&amp;#160;&amp;#160;Share-based compensation expense is measured at the grant date, based on the estimated fair value of the award, and is recognized as expense over the employee&amp;#8217;s requisite service period.&amp;#160;&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;We use the Black-Scholes option-pricing model to calculate the fair value of share based awards.&amp;#160;&amp;#160;The key assumptions for this valuation method include the expected term of the option, stock price volatility, risk-free interest rate, dividend yield, market price of our underlying stock and exercise price.&amp;#160;&amp;#160;Many of these assumptions are judgmental and highly sensitive in the determination of compensation expense.&amp;#160;&amp;#160;Beginning in the first quarter of 2017, we recognize forfeitures as they occur.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;In May&amp;#160;2017, the FASB&amp;#160;issued ASU&amp;#160;No. 2017-09, "Compensation-Stock Compensation: Scope of modification accounting".&amp;#160; ASU&amp;#160;2017-09 provides guidance about which changes to the terms or conditions of a share-based payment award require an entity to apply modification accounting in ASC 718.&amp;#160; ASU&amp;#160;No. 2017-09 was effective for fiscal years beginning after December&amp;#160;15, 2017.&amp;#160; The amendments are applied prospectively to an award modified on or after the adoption date.&amp;#160; We adopted this guidance in the first quarter of 2018 and the adoption did not result in a change to our financial statements.&lt;/div&gt;&lt;div style="line-height: 11.05pt;"&gt;&lt;br style="line-height: 11.05pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:ShareBasedCompensationOptionAndIncentivePlansPolicy>
  <!--Share-based Payment Arrangement, Shares Withheld for Tax Withholding Obligation-Common Stock [Member]-->
  <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation id="Fact_3d87449f27974c0ba2bf60c5e1c2eaab" contextRef="c20180101to20181231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="INF">19044</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
  <!--Share-based Payment Arrangement, Shares Withheld for Tax Withholding Obligation-Common Stock [Member]-->
  <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation id="Fact_6b3b788f3a334c2c974fb16731fe1726" contextRef="c20190101to20191231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="INF">21449</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
  <!--Share-based Payment Arrangement, Shares Withheld for Tax Withholding Obligation-Common Stock [Member]-->
  <us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation id="Fact_ce5b6bf9f95d484c903ede23cfbf6fa2" contextRef="c20170101to20171231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="INF">2368</us-gaap:SharesPaidForTaxWithholdingForShareBasedCompensation>
  <!--Standard Product Warranty, Policy [Policy Text Block]-->
  <us-gaap:StandardProductWarrantyPolicy id="Fact_592d718c079a460a9a9d0542cb9d7ce1" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Warranty:&lt;/font&gt;&amp;#160;&amp;#160;We generally warrant our products for up to 24 months and record the estimated cost of such product warranties at the time the sale is recorded.&amp;#160;&amp;#160;Estimated warranty costs are based upon actual past experience of product repairs and the related estimated cost of labor and material to make the necessary repairs.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The following table summarizes the activity recorded in the accrued product warranty liability:&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="10" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Year Ended December 31,&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(In thousands)&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2019&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2018&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2017&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Balance, beginning of period&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;273&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;267&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;267&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Warranties issued&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;181&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;269&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;259&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Warranty settlements&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(239&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(263&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(259&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Balance, end of period&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;215&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;273&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;267&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$174 thousand and $192 thousand of the accrued product warranty liability were classified as current in Accrued liabilities at December 31, 2019 and 2018, respectively.&amp;#160;&amp;#160;The remaining $41 thousand and $81 thousand of the accrued product warranty liability as of December 31, 2019 and 2018, respectively, is classified as long-term in Other liabilities.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:StandardProductWarrantyPolicy>
  <!--Issuance of shares from exercise of stock options (in shares)-Common Stock [Member]-->
  <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised id="Fact_0dda4657834e4864b3a7e729ba1507b1" contextRef="c20170101to20171231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="INF">166600</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
  <!--Issuance of shares from exercise of stock options (in shares)-Common Stock [Member]-->
  <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised id="Fact_22ae3e59a64c4f20817296a7eb534e08" contextRef="c20180101to20181231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="INF">58146</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
  <!--Issuance of shares from exercise of stock options (in shares)-Stock Options [Member]-Equity Incentive Plan 2005 and Equity Incentive Plan 2014 [Member]-->
  <us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised id="Fact_1bf44c2caf9947e495de20838633c589" contextRef="c20190101to20191231_AwardTypeAxis_EmployeeStockOptionMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U002" decimals="INF">0</us-gaap:StockIssuedDuringPeriodSharesStockOptionsExercised>
  <!--Shares Issued, Shares, Share-based Payment Arrangement, after Forfeiture-Common Stock [Member]-->
  <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation id="Fact_8f85d2f68c244c528748e1a6687f67d7" contextRef="c20190101to20191231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="INF">28231</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
  <!--Shares Issued, Shares, Share-based Payment Arrangement, after Forfeiture-Common Stock [Member]-->
  <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation id="Fact_b147f7d865b8410da60e6bb2e5f2eb23" contextRef="c20180101to20181231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="INF">23578</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
  <!--Shares Issued, Shares, Share-based Payment Arrangement, after Forfeiture-Common Stock [Member]-->
  <us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation id="Fact_dee6bbffcc774f60a19979e593929b62" contextRef="c20170101to20171231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="INF">8663</us-gaap:StockIssuedDuringPeriodSharesShareBasedCompensation>
  <!--Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures-Common Stock [Member]-->
  <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures id="Fact_65c0ee18193244849f65dc838ecbffae" contextRef="c20190101to20191231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="INF">45167</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures>
  <!--Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures-Common Stock [Member]-->
  <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures id="Fact_77b541bd459d468facdfa57c7aec3f1d" contextRef="c20180101to20181231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="INF">33935</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures>
  <!--Stock Issued During Period, Shares, Restricted Stock Award, Net of Forfeitures-Common Stock [Member]-->
  <us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures id="Fact_fb17b56408c249da873093542301beb3" contextRef="c20170101to20171231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="INF">8300</us-gaap:StockIssuedDuringPeriodSharesRestrictedStockAwardNetOfForfeitures>
  <!--Authorized value of common stock to be repurchased-->
  <us-gaap:StockRepurchaseProgramAuthorizedAmount1 id="Fact_e8b5d7631cf245c3a920510822b6f5f9" contextRef="c20180301" unitRef="U001" decimals="-3">5000000</us-gaap:StockRepurchaseProgramAuthorizedAmount1>
  <!--Stock Issued, Value, Stock Options Exercised, Net of Tax Benefit (Expense)-->
  <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense id="Fact_0edaa9ea8eda4c9583d29f9e37dfffbf" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">416000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense>
  <!--Stock Issued, Value, Stock Options Exercised, Net of Tax Benefit (Expense)-Retained Earnings [Member]-->
  <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense id="Fact_1909121fb0c442b6b0b3824d4be10996" contextRef="c20180101to20181231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense>
  <!--Stock Issued, Value, Stock Options Exercised, Net of Tax Benefit (Expense)-Common Stock [Member]-->
  <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense id="Fact_19cc8cd0ed0e47778ad1abaf0260d141" contextRef="c20180101to20181231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3">1000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense>
  <!--Stock Issued, Value, Stock Options Exercised, Net of Tax Benefit (Expense)-Treasury Stock [Member]-->
  <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense id="Fact_36959b7ffe984ad3af21f9fd23f0b7f9" contextRef="c20180101to20181231_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U001" decimals="-3">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense>
  <!--Stock Issued, Value, Stock Options Exercised, Net of Tax Benefit (Expense)-AOCI Attributable to Parent [Member]-->
  <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense id="Fact_37e41bb288624c8cab2b274383d726bb" contextRef="c20180101to20181231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense>
  <!--Stock Issued, Value, Stock Options Exercised, Net of Tax Benefit (Expense)-Additional Paid-in Capital [Member]-->
  <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense id="Fact_3be91e6b9157445a8b792fb4cfc9bc70" contextRef="c20180101to20181231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3">415000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense>
  <!--Stock Issued, Value, Stock Options Exercised, Net of Tax Benefit (Expense)-Additional Paid-in Capital [Member]-->
  <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense id="Fact_57fa2346b2ef4c82b66b186c32c41abe" contextRef="c20170101to20171231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3">1041000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense>
  <!--Stock Issued, Value, Stock Options Exercised, Net of Tax Benefit (Expense)-Retained Earnings [Member]-->
  <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense id="Fact_5fc7adb71b60494da90a8d8bfbc368db" contextRef="c20170101to20171231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense>
  <!--Stock Issued, Value, Stock Options Exercised, Net of Tax Benefit (Expense)-Common Stock [Member]-->
  <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense id="Fact_63cec012cbe143b78542b4b254eeb8e5" contextRef="c20170101to20171231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3">2000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense>
  <!--Stock Issued, Value, Stock Options Exercised, Net of Tax Benefit (Expense)-Treasury Stock [Member]-->
  <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense id="Fact_7c643f29a6dd415385090ca8ee763b4c" contextRef="c20170101to20171231_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U001" decimals="-3">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense>
  <!--Stock Issued, Value, Stock Options Exercised, Net of Tax Benefit (Expense)-->
  <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense id="Fact_b24706429c204ccca60d4c957464b8b3" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">1043000</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense>
  <!--Stock Issued, Value, Stock Options Exercised, Net of Tax Benefit (Expense)-AOCI Attributable to Parent [Member]-->
  <us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense id="Fact_bdb7e6bb8e974624915a231b5f5983a6" contextRef="c20170101to20171231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3">0</us-gaap:StockIssuedDuringPeriodValueStockOptionsExercisedNetOfTaxBenefitExpense>
  <!--Shares Issued, Value, Share-based Payment Arrangement, after Forfeiture-Retained Earnings [Member]-->
  <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation id="Fact_06f5bc704b5540e0b9a55d1411a538b3" contextRef="c20190101to20191231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3">0</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
  <!--Shares Issued, Value, Share-based Payment Arrangement, after Forfeiture-Common Stock [Member]-->
  <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation id="Fact_1a064c69e2204fe6bfe020f095e79741" contextRef="c20190101to20191231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3">0</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
  <!--Shares Issued, Value, Share-based Payment Arrangement, after Forfeiture-Treasury Stock [Member]-->
  <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation id="Fact_1a2db799a26c4564a3d49ea239c6ffc7" contextRef="c20170101to20171231_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U001" decimals="-3">0</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
  <!--Shares Issued, Value, Share-based Payment Arrangement, after Forfeiture-->
  <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation id="Fact_53d1b4e36ed8473fad4ae0bb4f47a487" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">0</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
  <!--Shares Issued, Value, Share-based Payment Arrangement, after Forfeiture-AOCI Attributable to Parent [Member]-->
  <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation id="Fact_5a298b7987584f99ab81188c9dc16d22" contextRef="c20180101to20181231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3">0</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
  <!--Shares Issued, Value, Share-based Payment Arrangement, after Forfeiture-->
  <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation id="Fact_6302a8277d814c2a885e12729bb96cb5" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">0</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
  <!--Shares Issued, Value, Share-based Payment Arrangement, after Forfeiture-Common Stock [Member]-->
  <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation id="Fact_71dfe43ad5a94dd79d61e72dbf1a36e1" contextRef="c20170101to20171231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3">0</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
  <!--Shares Issued, Value, Share-based Payment Arrangement, after Forfeiture-Additional Paid-in Capital [Member]-->
  <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation id="Fact_7204bcd4779f417fad0b0983df810181" contextRef="c20180101to20181231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3">0</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
  <!--Shares Issued, Value, Share-based Payment Arrangement, after Forfeiture-AOCI Attributable to Parent [Member]-->
  <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation id="Fact_7a5618172fc84761a3f2b818d9f29791" contextRef="c20170101to20171231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3">0</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
  <!--Shares Issued, Value, Share-based Payment Arrangement, after Forfeiture-Additional Paid-in Capital [Member]-->
  <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation id="Fact_8cae2fcd87b449a2a6d8ca72fe89be13" contextRef="c20190101to20191231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3">0</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
  <!--Shares Issued, Value, Share-based Payment Arrangement, after Forfeiture-Additional Paid-in Capital [Member]-->
  <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation id="Fact_aa0ec5883b384853a87e9101481954a0" contextRef="c20170101to20171231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3">0</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
  <!--Shares Issued, Value, Share-based Payment Arrangement, after Forfeiture-AOCI Attributable to Parent [Member]-->
  <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation id="Fact_b4d3f2839db7439fac4ab4db711f0b5c" contextRef="c20190101to20191231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3">0</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
  <!--Shares Issued, Value, Share-based Payment Arrangement, after Forfeiture-Retained Earnings [Member]-->
  <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation id="Fact_c073c1b5dd3248c1b2ca550b097cbb5c" contextRef="c20180101to20181231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3">0</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
  <!--Shares Issued, Value, Share-based Payment Arrangement, after Forfeiture-->
  <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation id="Fact_d5bae9a11fe9424285d37d98d60f584c" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">0</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
  <!--Shares Issued, Value, Share-based Payment Arrangement, after Forfeiture-Retained Earnings [Member]-->
  <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation id="Fact_e063274b05c349f2af9d4f982ed9676e" contextRef="c20170101to20171231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3">0</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
  <!--Shares Issued, Value, Share-based Payment Arrangement, after Forfeiture-Common Stock [Member]-->
  <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation id="Fact_e6b0ae41a6f24e5eaef0dc56e7ef82ad" contextRef="c20180101to20181231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3">0</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
  <!--Shares Issued, Value, Share-based Payment Arrangement, after Forfeiture-Treasury Stock [Member]-->
  <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation id="Fact_ec0d27eaace34923a1e7a0504e222678" contextRef="c20190101to20191231_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U001" decimals="-3">0</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
  <!--Shares Issued, Value, Share-based Payment Arrangement, after Forfeiture-Treasury Stock [Member]-->
  <us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation id="Fact_f2ee97444e2a4012b75cf46489a94649" contextRef="c20180101to20181231_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U001" decimals="-3">0</us-gaap:StockIssuedDuringPeriodValueShareBasedCompensation>
  <!--Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures-Retained Earnings [Member]-->
  <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures id="Fact_0e22a8409abb490aa882d5bd6f86da09" contextRef="c20170101to20171231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
  <!--Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures-Treasury Stock [Member]-->
  <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures id="Fact_1029d32878bb438b9f33d13b6d76845b" contextRef="c20170101to20171231_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U001" decimals="-3">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
  <!--Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures-->
  <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures id="Fact_3646503a800c475783dd3f35751955b5" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
  <!--Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures-Retained Earnings [Member]-->
  <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures id="Fact_669d91c56d6343ea8bddd52b2e60460b" contextRef="c20180101to20181231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
  <!--Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures-Common Stock [Member]-->
  <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures id="Fact_70587b9d1dda4e2e8c170c9debf4cb9b" contextRef="c20180101to20181231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
  <!--Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures-AOCI Attributable to Parent [Member]-->
  <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures id="Fact_83f2f241ea54471ebbbfb0793b5d87d1" contextRef="c20180101to20181231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
  <!--Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures-Common Stock [Member]-->
  <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures id="Fact_91dda6e090b14ea2826b8da52896c54a" contextRef="c20170101to20171231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
  <!--Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures-Additional Paid-in Capital [Member]-->
  <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures id="Fact_9b748700490f441d98b7ec3e337cfa33" contextRef="c20180101to20181231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
  <!--Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures-->
  <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures id="Fact_9b836ffa2a744af4aa1fbbfff227eec0" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
  <!--Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures-Common Stock [Member]-->
  <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures id="Fact_9f2401ae01aa4c75a0278923abf831c5" contextRef="c20190101to20191231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
  <!--Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures-Treasury Stock [Member]-->
  <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures id="Fact_a7c26bb2f38c421e8fecb9abe84651db" contextRef="c20190101to20191231_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U001" decimals="-3">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
  <!--Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures-->
  <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures id="Fact_bc10432a417944cbba6a999309040f2b" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
  <!--Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures-Additional Paid-in Capital [Member]-->
  <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures id="Fact_cd395007fdaf45e7b5f9fe79a9b85b6d" contextRef="c20190101to20191231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
  <!--Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures-Retained Earnings [Member]-->
  <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures id="Fact_e1519f0fd83d4b69b98005c5ac26bba4" contextRef="c20190101to20191231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
  <!--Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures-AOCI Attributable to Parent [Member]-->
  <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures id="Fact_e930f314ae614033a1fa7899086703b7" contextRef="c20170101to20171231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
  <!--Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures-Additional Paid-in Capital [Member]-->
  <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures id="Fact_f12672bc196e4932b91d9f557bf3cfc8" contextRef="c20170101to20171231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
  <!--Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures-AOCI Attributable to Parent [Member]-->
  <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures id="Fact_f6a42f9e6d44413589d771505520f113" contextRef="c20190101to20191231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
  <!--Stock Issued During Period, Value, Restricted Stock Award, Net of Forfeitures-Treasury Stock [Member]-->
  <us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures id="Fact_fcf028d512524a9fa4afac36e4f60b7d" contextRef="c20180101to20181231_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U001" decimals="-3">0</us-gaap:StockIssuedDuringPeriodValueRestrictedStockAwardNetOfForfeitures>
  <!--Common stock repurchased (in shares)-Common Stock [Member]-->
  <us-gaap:StockRepurchasedDuringPeriodShares id="Fact_0bfa916958954c98bc0b8c400d83b8f9" contextRef="c20170101to20171231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="INF">36465</us-gaap:StockRepurchasedDuringPeriodShares>
  <!--Common stock repurchased (in shares)-Common Stock [Member]-->
  <us-gaap:StockRepurchasedDuringPeriodShares id="Fact_8a06b70ef9514b9a9331a4b35d96face" contextRef="c20180101to20181231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U002" decimals="INF">156410</us-gaap:StockRepurchasedDuringPeriodShares>
  <!--Common stock repurchased (in shares)-->
  <us-gaap:StockRepurchasedDuringPeriodShares id="Fact_265bd03bd4fe46969c779447f93cb8d0" contextRef="c20050101to20191231" unitRef="U002" decimals="INF">4044842</us-gaap:StockRepurchasedDuringPeriodShares>
  <!--Common stock repurchased (in shares)-Stock Repurchase Program, 2018 [Member]-->
  <us-gaap:StockRepurchasedDuringPeriodShares id="Fact_99e5882283b04e66a433d3ad7261fc9b" contextRef="c20180302to20181231_ShareRepurchaseProgramAxis_StockRepurchaseProgram2018Member" unitRef="U002" decimals="INF">156410</us-gaap:StockRepurchasedDuringPeriodShares>
  <!--Common stock repurchased (in shares)-Stock Repurchase Program, 2016 [Member]-->
  <us-gaap:StockRepurchasedDuringPeriodShares id="Fact_c93a0610170f46048ad815ef1f3f92c8" contextRef="c20160225to20171231_ShareRepurchaseProgramAxis_StockRepurchaseProgram2016Member" unitRef="U002" decimals="INF">36465</us-gaap:StockRepurchasedDuringPeriodShares>
  <!--Common stock repurchased (in shares)-Stock Repurchase Program, 2018 [Member]-->
  <us-gaap:StockRepurchasedDuringPeriodShares id="Fact_8d3e5a24722a4232a89aad8133bfde7f" contextRef="c20190101to20191231_ShareRepurchaseProgramAxis_StockRepurchaseProgram2018Member" unitRef="U002" decimals="INF">0</us-gaap:StockRepurchasedDuringPeriodShares>
  <!--Value of common stock repurchased-->
  <us-gaap:StockRepurchasedDuringPeriodValue id="Fact_37681b3608bf4cf7b1a258f10c3a51b4" contextRef="c20050101to20191231" unitRef="U001" decimals="-3">32110000</us-gaap:StockRepurchasedDuringPeriodValue>
  <!--Value of common stock repurchased-Stock Repurchase Program, 2018 [Member]-->
  <us-gaap:StockRepurchasedDuringPeriodValue id="Fact_80642172d73648f5b994b78bbe29f6a8" contextRef="c20180302to20181231_ShareRepurchaseProgramAxis_StockRepurchaseProgram2018Member" unitRef="U001" decimals="-3">2000000</us-gaap:StockRepurchasedDuringPeriodValue>
  <!--Value of common stock repurchased-Stock Repurchase Program, 2016 [Member]-->
  <us-gaap:StockRepurchasedDuringPeriodValue id="Fact_d5fa5c26078b4eb7bc026da15374c2f7" contextRef="c20160225to20171231_ShareRepurchaseProgramAxis_StockRepurchaseProgram2016Member" unitRef="U001" decimals="-3">358000</us-gaap:StockRepurchasedDuringPeriodValue>
  <!--Stockholders' Equity Attributable to Parent-->
  <us-gaap:StockholdersEquity id="Fact_296a84a8d906476da318ead269a3d384" contextRef="c20181231" unitRef="U001" decimals="-3">27567000</us-gaap:StockholdersEquity>
  <!--Stockholders' Equity Attributable to Parent-->
  <us-gaap:StockholdersEquity id="Fact_9f6bf04c2a4e4c62ae802bc94ba22943" contextRef="c20191231" unitRef="U001" decimals="-3">25926000</us-gaap:StockholdersEquity>
  <!--Stockholders' Equity Attributable to Parent-Retained Earnings [Member]-->
  <us-gaap:StockholdersEquity id="Fact_4dddc19acffd4e56861bcc61664718a6" contextRef="c20161231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3">24157000</us-gaap:StockholdersEquity>
  <!--Stockholders' Equity Attributable to Parent-AOCI Attributable to Parent [Member]-->
  <us-gaap:StockholdersEquity id="Fact_52d91cef7c4f4324a8c657c9e003cecf" contextRef="c20161231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3">-109000</us-gaap:StockholdersEquity>
  <!--Stockholders' Equity Attributable to Parent-Common Stock [Member]-->
  <us-gaap:StockholdersEquity id="Fact_764cc8fafe45439ab335ed5975c73232" contextRef="c20161231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3">112000</us-gaap:StockholdersEquity>
  <!--Stockholders' Equity Attributable to Parent-Treasury Stock [Member]-->
  <us-gaap:StockholdersEquity id="Fact_76784e67a2c74f03a4909f81a8170ba5" contextRef="c20161231_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U001" decimals="-3">-29752000</us-gaap:StockholdersEquity>
  <!--Stockholders' Equity Attributable to Parent-Additional Paid-in Capital [Member]-->
  <us-gaap:StockholdersEquity id="Fact_889ea8a5a67f46f2a68cfda65ae833fb" contextRef="c20161231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3">29701000</us-gaap:StockholdersEquity>
  <!--Stockholders' Equity Attributable to Parent-->
  <us-gaap:StockholdersEquity id="Fact_91d19548552345f59fd53c0d3103dc51" contextRef="c20161231" unitRef="U001" decimals="-3">24109000</us-gaap:StockholdersEquity>
  <!--Stockholders' Equity Attributable to Parent-Retained Earnings [Member]-->
  <us-gaap:StockholdersEquity id="Fact_230bbfa9b564400db49d1e73c19dc7cc" contextRef="c20171231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3">24756000</us-gaap:StockholdersEquity>
  <!--Stockholders' Equity Attributable to Parent-Treasury Stock [Member]-->
  <us-gaap:StockholdersEquity id="Fact_26e8b71a9c3d4335a61a5dabeaf1ffd2" contextRef="c20191231_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U001" decimals="-3">-32110000</us-gaap:StockholdersEquity>
  <!--Stockholders' Equity Attributable to Parent-AOCI Attributable to Parent [Member]-->
  <us-gaap:StockholdersEquity id="Fact_5264770a1e094083af933aa1e4a1febe" contextRef="c20191231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3">-31000</us-gaap:StockholdersEquity>
  <!--Stockholders' Equity Attributable to Parent-Treasury Stock [Member]-->
  <us-gaap:StockholdersEquity id="Fact_5dc4582abc1d4ad1bc566090e31aab2a" contextRef="c20181231_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U001" decimals="-3">-32110000</us-gaap:StockholdersEquity>
  <!--Stockholders' Equity Attributable to Parent-Common Stock [Member]-->
  <us-gaap:StockholdersEquity id="Fact_76432bd7d319432aa83455f776b5d227" contextRef="c20191231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3">115000</us-gaap:StockholdersEquity>
  <!--Stockholders' Equity Attributable to Parent-Additional Paid-in Capital [Member]-->
  <us-gaap:StockholdersEquity id="Fact_7b74673b1c18433cabc005a69ba2841c" contextRef="c20181231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3">32129000</us-gaap:StockholdersEquity>
  <!--Stockholders' Equity Attributable to Parent-AOCI Attributable to Parent [Member]-->
  <us-gaap:StockholdersEquity id="Fact_804db090e1fd49f6ae844f8f1930df52" contextRef="c20181231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3">-82000</us-gaap:StockholdersEquity>
  <!--Stockholders' Equity Attributable to Parent-Retained Earnings [Member]-->
  <us-gaap:StockholdersEquity id="Fact_89d299f6562947eeb21530b7f5d78e76" contextRef="c20191231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3">25348000</us-gaap:StockholdersEquity>
  <!--Stockholders' Equity Attributable to Parent-->
  <us-gaap:StockholdersEquity id="Fact_a91fcaea927c4306aa7b2326102493bc" contextRef="c20171231" unitRef="U001" decimals="-3">26014000</us-gaap:StockholdersEquity>
  <!--Stockholders' Equity Attributable to Parent-Additional Paid-in Capital [Member]-->
  <us-gaap:StockholdersEquity id="Fact_afd88deb60d648a0b4ced1ebbda0c053" contextRef="c20191231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3">32604000</us-gaap:StockholdersEquity>
  <!--Stockholders' Equity Attributable to Parent-Additional Paid-in Capital [Member]-->
  <us-gaap:StockholdersEquity id="Fact_b87837dee6324e7c881d1bc69aa7abe5" contextRef="c20171231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3">31353000</us-gaap:StockholdersEquity>
  <!--Stockholders' Equity Attributable to Parent-Common Stock [Member]-->
  <us-gaap:StockholdersEquity id="Fact_c42a6f892f654d519f9e816ec280c5e3" contextRef="c20171231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3">114000</us-gaap:StockholdersEquity>
  <!--Stockholders' Equity Attributable to Parent-Common Stock [Member]-->
  <us-gaap:StockholdersEquity id="Fact_ca4456febd544adab831676a0ebaf0d2" contextRef="c20181231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3">115000</us-gaap:StockholdersEquity>
  <!--Stockholders' Equity Attributable to Parent-AOCI Attributable to Parent [Member]-->
  <us-gaap:StockholdersEquity id="Fact_cdf3a4be20f6415cb3d7f04505d17dff" contextRef="c20171231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3">-99000</us-gaap:StockholdersEquity>
  <!--Stockholders' Equity Attributable to Parent-Treasury Stock [Member]-->
  <us-gaap:StockholdersEquity id="Fact_e1ea0332152c4ed0b285dcc4ee82499b" contextRef="c20171231_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U001" decimals="-3">-30110000</us-gaap:StockholdersEquity>
  <!--Stockholders' Equity Attributable to Parent-Retained Earnings [Member]-->
  <us-gaap:StockholdersEquity id="Fact_fa2f919261464180ac0ecdd60e8d6c84" contextRef="c20181231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3">27515000</us-gaap:StockholdersEquity>
  <!--Subsequent Events [Text Block]-->
  <us-gaap:SubsequentEventsTextBlock id="Fact_3bdb972aa74e476ebd240013cf0d59eb" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;17. Subsequent events&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;On February 28, 2020, we entered into an amendment to extend the lease on our facility in Ithaca, New York.&amp;#160; The lease, which was last amended on January 14, 2016, was scheduled to expire on May 31, 2021.&amp;#160; The lease amendment&amp;#160;provides for an extension of the lease for four additional years from June 1, 2021 to May 31, 2025.&amp;#160;&lt;/div&gt;&lt;div style="line-height: 12pt;"&gt;&lt;br style="line-height: 12pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 11.05pt; margin-bottom: 8pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;On March 13, 2020, we entered into a new $10 million credit facility (the &amp;#8220;Siena Credit Facility&amp;#8221;) with Siena Lending Group LLC.&amp;#160; The Siena Credit Facility replaced our TD Bank Credit Facility.&amp;#160; The Siena Credit Facility provides for a $10 million revolving credit line expiring on March 13, 2023.&amp;#160; Borrowings under the Siena Credit Facility bear a floating rate of interest equal to the greatest of (i) the prime rate plus 1.75%, (ii) the federal funds rate plus 2.25%, and (iii) 6.50%. We incurred a closing fee of $63 thousand payable 50% on the closing date and 50% on the first anniversary of the closing date.&amp;#160;&amp;#160; We also pay a fee of 0.50% on unused borrowings under the facility.&amp;#160; Borrowings under the facility are secured by a lien on substantially all the assets of the Company.&amp;#160; The Siena Credit Facility imposes certain financial covenants on the Company and borrowings are subject to a borrowing base based on (i) 85% of eligible accounts receivable plus the lesser of (a) $5,000,000 and (b) 50% of eligible raw material and finished good inventory.&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;On March 13, 2020 we loaned an additional $0.6 million to a third party increasing the total note receivable principal balance to $1.6 million.&amp;#160; Repayment is expected to occur in 12 months or less of original issuance and the terms of the loan are the same as the original loan disclosed in Note 3-Note receivable above.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:SubsequentEventsTextBlock>
  <!--Valuation allowance on deferred tax assets-->
  <us-gaap:SummaryOfValuationAllowanceTextBlock id="Fact_8dfdcddf6cd34511be06387760e16e51" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;As of December 31, 2019 a valuation allowance of $444 thousand has been established for foreign net operating loss carryforwards that are not expected to be used.&amp;#160;The following table summarizes the activity recorded in the valuation allowance on the deferred tax assets:&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="10" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Year Ended December 31,&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2019&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2018&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2017&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Balance, beginning of period&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;390&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;328&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;423&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Additions charged to income tax provision&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;54&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;62&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;67&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Reductions credited to income tax provision&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#8211;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#8211;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(162&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 64%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Balance, end of period&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;444&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;390&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;328&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:SummaryOfValuationAllowanceTextBlock>
  <!--Summary of Positions for which Significant Change in Unrecognized Tax Benefits is Reasonably Possible [Table Text Block]-->
  <us-gaap:SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock id="Fact_58553adca7fa4e3c93c6347e1236cbf7" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;We had $107 thousand and $104 thousand of total gross unrecognized tax benefits at December 31, 2019 and 2018, respectively that, if recognized, would favorably affect the effective income tax rate in any future periods.&amp;#160;&amp;#160;We are not aware of any events that could occur within the next twelve months that could cause a significant change in the total amount of unrecognized tax benefits.&amp;#160;&amp;#160;A tabular reconciliation of the gross amounts of unrecognized tax benefits at the beginning and end of the year is as follows:&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="6" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;December 31,&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-style: italic;"&gt;(In thousands)&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2019&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;2018&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Unrecognized tax benefits as of January 1&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;104&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;104&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Tax positions taken during the current period&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;28&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;28&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Lapse of statute of limitations&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(25&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;(28&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 solid 2px; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;)&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 76%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Unrecognized tax benefits as of December 31&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;107&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; padding-bottom: 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 14.4pt;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;104&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; border-bottom: #000000 double 4px; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:SummaryOfPositionsForWhichSignificantChangeInUnrecognizedTaxBenefitsIsReasonablyPossibleTextBlock>
  <!--Provisional income tax expense-->
  <us-gaap:TaxCutsAndJobsActOf2017ChangeInTaxRateDeferredTaxAssetIncomeTaxExpense id="Fact_3c37bb5cdc2242ada6db3458c22ccc65" contextRef="c20170101to20171231" unitRef="U001" decimals="-5">1300000</us-gaap:TaxCutsAndJobsActOf2017ChangeInTaxRateDeferredTaxAssetIncomeTaxExpense>
  <!--Tax credit carryforward-R&D Credit [Member]-->
  <us-gaap:TaxCreditCarryforwardAmount id="Fact_5b5254f1aa8146dab4c17d87e8efb958" contextRef="c20191231_TaxCreditCarryforwardAxis_ResearchMember" unitRef="U001" decimals="-3">111000</us-gaap:TaxCreditCarryforwardAmount>
  <!--Tax credit carryforward-State and Local Jurisdiction [Member]-->
  <us-gaap:TaxCreditCarryforwardAmount id="Fact_8df635d8907c439f8aaf0ca2d89cc76f" contextRef="c20191231_IncomeTaxAuthorityAxis_StateAndLocalJurisdictionMember" unitRef="U001" decimals="-3">0</us-gaap:TaxCreditCarryforwardAmount>
  <!--Income tax expense related to undistributed foreign subsidiary E&P-->
  <us-gaap:TaxCutsAndJobsActOf2017IncompleteAccountingTransitionTaxForAccumulatedForeignEarningsProvisionalIncomeTaxExpense id="Fact_4b5a1990857e4b8c8ea3a48370d062ae" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">0</us-gaap:TaxCutsAndJobsActOf2017IncompleteAccountingTransitionTaxForAccumulatedForeignEarningsProvisionalIncomeTaxExpense>
  <!--Treasury stock (in shares)-->
  <us-gaap:TreasuryStockShares id="Fact_c23cf03e157242e1812d004715ba8b90" contextRef="c20181231" unitRef="U002" decimals="INF">4044842</us-gaap:TreasuryStockShares>
  <!--Treasury stock (in shares)-->
  <us-gaap:TreasuryStockShares id="Fact_d172a80bbf174a5fb3d49e3d1c384f0a" contextRef="c20191231" unitRef="U002" decimals="INF">4044842</us-gaap:TreasuryStockShares>
  <!--Treasury Stock, Value, Acquired, Cost Method-Common Stock [Member]-->
  <us-gaap:TreasuryStockValueAcquiredCostMethod id="Fact_055da1db70b541a5b1fc324429f07c10" contextRef="c20180101to20181231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3">0</us-gaap:TreasuryStockValueAcquiredCostMethod>
  <!--Treasury Stock, Value, Acquired, Cost Method-Retained Earnings [Member]-->
  <us-gaap:TreasuryStockValueAcquiredCostMethod id="Fact_10a8da6a703d446492d390ee35a1a3b8" contextRef="c20180101to20181231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3">0</us-gaap:TreasuryStockValueAcquiredCostMethod>
  <!--Treasury Stock, Value, Acquired, Cost Method-->
  <us-gaap:TreasuryStockValueAcquiredCostMethod id="Fact_2fd67213e9a34e51bda45cd08b153ebb" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">2000000</us-gaap:TreasuryStockValueAcquiredCostMethod>
  <!--Treasury Stock, Value, Acquired, Cost Method-Additional Paid-in Capital [Member]-->
  <us-gaap:TreasuryStockValueAcquiredCostMethod id="Fact_5d20584acef6487c820121d1ff27ccce" contextRef="c20180101to20181231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3">0</us-gaap:TreasuryStockValueAcquiredCostMethod>
  <!--Treasury Stock, Value, Acquired, Cost Method-Treasury Stock [Member]-->
  <us-gaap:TreasuryStockValueAcquiredCostMethod id="Fact_5e1ec15246f647ed83567af9f1133acc" contextRef="c20180101to20181231_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U001" decimals="-3">2000000</us-gaap:TreasuryStockValueAcquiredCostMethod>
  <!--Treasury Stock, Value, Acquired, Cost Method-Common Stock [Member]-->
  <us-gaap:TreasuryStockValueAcquiredCostMethod id="Fact_674f22ff497f446cb060802000966a3c" contextRef="c20170101to20171231_StatementEquityComponentsAxis_CommonStockMember" unitRef="U001" decimals="-3">0</us-gaap:TreasuryStockValueAcquiredCostMethod>
  <!--Treasury Stock, Value, Acquired, Cost Method-Additional Paid-in Capital [Member]-->
  <us-gaap:TreasuryStockValueAcquiredCostMethod id="Fact_6c38335fdbc24e9f9958d5f8f1e55760" contextRef="c20170101to20171231_StatementEquityComponentsAxis_AdditionalPaidInCapitalMember" unitRef="U001" decimals="-3">0</us-gaap:TreasuryStockValueAcquiredCostMethod>
  <!--Treasury Stock, Value, Acquired, Cost Method-Treasury Stock [Member]-->
  <us-gaap:TreasuryStockValueAcquiredCostMethod id="Fact_9367fc64645543f284702a610b088741" contextRef="c20170101to20171231_StatementEquityComponentsAxis_TreasuryStockMember" unitRef="U001" decimals="-3">358000</us-gaap:TreasuryStockValueAcquiredCostMethod>
  <!--Treasury Stock, Value, Acquired, Cost Method-AOCI Attributable to Parent [Member]-->
  <us-gaap:TreasuryStockValueAcquiredCostMethod id="Fact_9c6132f477944df5a7bf13aef87d1224" contextRef="c20180101to20181231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3">0</us-gaap:TreasuryStockValueAcquiredCostMethod>
  <!--Treasury Stock, Value, Acquired, Cost Method-Retained Earnings [Member]-->
  <us-gaap:TreasuryStockValueAcquiredCostMethod id="Fact_b1b55d841ef8462f984c9bd78b5eec2b" contextRef="c20170101to20171231_StatementEquityComponentsAxis_RetainedEarningsMember" unitRef="U001" decimals="-3">0</us-gaap:TreasuryStockValueAcquiredCostMethod>
  <!--Treasury Stock, Value, Acquired, Cost Method-->
  <us-gaap:TreasuryStockValueAcquiredCostMethod id="Fact_c87685857d6a402ea501867c7213306f" contextRef="c20170101to20171231" unitRef="U001" decimals="-3">358000</us-gaap:TreasuryStockValueAcquiredCostMethod>
  <!--Treasury Stock, Value, Acquired, Cost Method-AOCI Attributable to Parent [Member]-->
  <us-gaap:TreasuryStockValueAcquiredCostMethod id="Fact_f231f8b7b082430f94dc955ece922bca" contextRef="c20170101to20171231_StatementEquityComponentsAxis_AccumulatedOtherComprehensiveIncomeMember" unitRef="U001" decimals="-3">0</us-gaap:TreasuryStockValueAcquiredCostMethod>
  <!--Stock repurchase program-->
  <us-gaap:TreasuryStockTextBlock id="Fact_c6779326a4964a369fc7fae9084e2283" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;13. Stock repurchase program&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Prior to its expiration on December 31, 2019, we maintained a stock repurchase program (the "2018 Stock Repurchase Program") whereby we were authorized to repurchase up to $5 million of our outstanding shares of common stock from time to time in the open market at prevailing market prices based on market conditions, share price and other factors.&amp;#160; We use the cost method to account for treasury stock purchases, under which the price paid for the stock is charged to the treasury stock account.&amp;#160;&amp;#160;Repurchases of our common stock are accounted for as of the settlement date.&amp;#160; During 2019 we did not repurchase any shares of our common stock.&amp;#160; From the start of the 2018 Stock Repurchase Program on March 1, 2018 through December 31, 2018, we repurchased&amp;#160; 156,410 shares of our common stock for approximately $2.0 million at an average price per share of $12.79.&amp;#160;&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;In 2017, under a prior repurchase program that was in place from February 25, 2016 through December 31, 2017, we purchased 36,465 shares of our common stock for $0.4 million at an average price of $9.84 per share.&amp;#160; From January 1, 2005 through December 31, 2019, we repurchased a total of 4,044,842 shares of common stock for $32.1 million, at an average price of $7.94 per share.&lt;/div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&amp;#160;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:TreasuryStockTextBlock>
  <!--Treasury Stock, Value-->
  <us-gaap:TreasuryStockValue id="Fact_b6702bb716074b4fbe8a387ed43e12b1" contextRef="c20181231" unitRef="U001" decimals="-3">32110000</us-gaap:TreasuryStockValue>
  <!--Treasury Stock, Value-->
  <us-gaap:TreasuryStockValue id="Fact_f4006958d89c4385b357727d36336670" contextRef="c20191231" unitRef="U001" decimals="-3">32110000</us-gaap:TreasuryStockValue>
  <!--Treasury Stock Acquired, Average Cost Per Share-Stock Repurchase Program, 2016 [Member]-->
  <us-gaap:TreasuryStockAcquiredAverageCostPerShare id="Fact_4ea6eb8dfd9d4d6fbe7899af6a484ac5" contextRef="c20160225to20171231_ShareRepurchaseProgramAxis_StockRepurchaseProgram2016Member" unitRef="U003" decimals="2">9.84</us-gaap:TreasuryStockAcquiredAverageCostPerShare>
  <!--Treasury Stock Acquired, Average Cost Per Share-Stock Repurchase Program, 2018 [Member]-->
  <us-gaap:TreasuryStockAcquiredAverageCostPerShare id="Fact_71c048a55ec74ecda04022c539448fd7" contextRef="c20180302to20181231_ShareRepurchaseProgramAxis_StockRepurchaseProgram2018Member" unitRef="U003" decimals="2">12.79</us-gaap:TreasuryStockAcquiredAverageCostPerShare>
  <!--Treasury Stock Acquired, Average Cost Per Share-->
  <us-gaap:TreasuryStockAcquiredAverageCostPerShare id="Fact_ab00cb0f40ea42c08a36bbbab7e471d7" contextRef="c20050101to20191231" unitRef="U003" decimals="2">7.94</us-gaap:TreasuryStockAcquiredAverageCostPerShare>
  <!--Undistributed foreign E&P-->
  <us-gaap:UndistributedEarningsOfForeignSubsidiaries id="Fact_dabcea859a8a48d1b708e46990ed9243" contextRef="c20171231" unitRef="U001" decimals="-3">0</us-gaap:UndistributedEarningsOfForeignSubsidiaries>
  <!--Unrecognized Tax Benefits-->
  <us-gaap:UnrecognizedTaxBenefits id="Fact_0666af5f81a74c8596412e2dac7a3a6e" contextRef="c20171231" unitRef="U001" decimals="-3">104000</us-gaap:UnrecognizedTaxBenefits>
  <!--Unrecognized Tax Benefits-->
  <us-gaap:UnrecognizedTaxBenefits id="Fact_a56a6c8b43434ce5b11ac504673cd873" contextRef="c20181231" unitRef="U001" decimals="-3">104000</us-gaap:UnrecognizedTaxBenefits>
  <!--Unrecognized Tax Benefits-->
  <us-gaap:UnrecognizedTaxBenefits id="Fact_1e688c203eef4d6eae593f7f67dd13fa" contextRef="c20191231" unitRef="U001" decimals="-3">107000</us-gaap:UnrecognizedTaxBenefits>
  <!--Tax positions taken during the current period-->
  <us-gaap:UnrecognizedTaxBenefitsPeriodIncreaseDecrease id="Fact_1ee6f7975ccb46c0b6a247d0541f133b" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">28000</us-gaap:UnrecognizedTaxBenefitsPeriodIncreaseDecrease>
  <!--Tax positions taken during the current period-->
  <us-gaap:UnrecognizedTaxBenefitsPeriodIncreaseDecrease id="Fact_3728efdf311f4c33bb85ef11a366fe06" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">28000</us-gaap:UnrecognizedTaxBenefitsPeriodIncreaseDecrease>
  <!--Unrecognized Tax Benefits that Would Impact Effective Tax Rate-->
  <us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate id="Fact_3372f4828eed46089734217980bdfe18" contextRef="c20191231" unitRef="U001" decimals="-3">107000</us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate>
  <!--Unrecognized Tax Benefits that Would Impact Effective Tax Rate-->
  <us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate id="Fact_681e26b0d4f141139fabf7244d736624" contextRef="c20181231" unitRef="U001" decimals="-3">104000</us-gaap:UnrecognizedTaxBenefitsThatWouldImpactEffectiveTaxRate>
  <!--Unrecognized Tax Benefits, Reduction Resulting from Lapse of Applicable Statute of Limitations-->
  <us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations id="Fact_5dabd9dc5d8f4811b1b93bafc14a8650" contextRef="c20190101to20191231" unitRef="U001" decimals="-3">25000</us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations>
  <!--Unrecognized Tax Benefits, Reduction Resulting from Lapse of Applicable Statute of Limitations-->
  <us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations id="Fact_7cd927647ad14dccae05a4120f054393" contextRef="c20180101to20181231" unitRef="U001" decimals="-3">28000</us-gaap:UnrecognizedTaxBenefitsReductionsResultingFromLapseOfApplicableStatuteOfLimitations>
  <!--Use of estimates-->
  <us-gaap:UseOfEstimates id="Fact_a4a8302471374ba5a12e28f7059d3e7e" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold; font-style: italic;"&gt;Use of estimates&lt;/font&gt;&lt;font style="font-size: 10pt; font-family: 'Times New Roman', Times, serif; font-weight: bold;"&gt;:&lt;/font&gt;&amp;#160;&amp;#160;The preparations of consolidated financial statements in conformity with accounting principles generally accepted in the United States of America (&amp;#8220;GAAP&amp;#8221;) requires management to make estimates and assumptions that affect the reported amounts of assets, liabilities, revenue and expenses, and disclosure of contingent assets and liabilities as of the date of the Consolidated Financial Statements and the reported amounts of sales and expenses during the reporting period. Actual results could differ from those estimates.&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</us-gaap:UseOfEstimates>
  <!--SEC Schedule, 12-09, Valuation Allowances and Reserves, Amount-Foreign Net Operating Loss Carryforwards [Member]-->
  <us-gaap:ValuationAllowancesAndReservesBalance id="Fact_395b1539be3b4f4f87710df4a6da1ee9" contextRef="c20181231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember" unitRef="U001" decimals="-3">390000</us-gaap:ValuationAllowancesAndReservesBalance>
  <!--SEC Schedule, 12-09, Valuation Allowances and Reserves, Amount-Foreign Net Operating Loss Carryforwards [Member]-->
  <us-gaap:ValuationAllowancesAndReservesBalance id="Fact_9fc5259d02754c5fa26e216ed18d15e5" contextRef="c20161231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember" unitRef="U001" decimals="-3">423000</us-gaap:ValuationAllowancesAndReservesBalance>
  <!--SEC Schedule, 12-09, Valuation Allowances and Reserves, Amount-Foreign Net Operating Loss Carryforwards [Member]-->
  <us-gaap:ValuationAllowancesAndReservesBalance id="Fact_c55ad2d0c47e49fe988318301847cad6" contextRef="c20171231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember" unitRef="U001" decimals="-3">328000</us-gaap:ValuationAllowancesAndReservesBalance>
  <!--SEC Schedule, 12-09, Valuation Allowances and Reserves, Amount-Foreign Net Operating Loss Carryforwards [Member]-->
  <us-gaap:ValuationAllowancesAndReservesBalance id="Fact_57227463b6004eeea787b3999528a31a" contextRef="c20191231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember" unitRef="U001" decimals="-3">444000</us-gaap:ValuationAllowancesAndReservesBalance>
  <!--SEC Schedule, 12-09, Valuation Allowances and Reserves, Deduction-Foreign Net Operating Loss Carryforwards [Member]-->
  <us-gaap:ValuationAllowancesAndReservesDeductions id="Fact_27116d309c624c148d2a81254b97d1ce" contextRef="c20180101to20181231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember" unitRef="U001" decimals="-3">0</us-gaap:ValuationAllowancesAndReservesDeductions>
  <!--SEC Schedule, 12-09, Valuation Allowances and Reserves, Deduction-Foreign Net Operating Loss Carryforwards [Member]-->
  <us-gaap:ValuationAllowancesAndReservesDeductions id="Fact_c36a81b5370944aa8d5f485bcb561fb4" contextRef="c20190101to20191231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember" unitRef="U001" decimals="-3">0</us-gaap:ValuationAllowancesAndReservesDeductions>
  <!--SEC Schedule, 12-09, Valuation Allowances and Reserves, Deduction-Foreign Net Operating Loss Carryforwards [Member]-->
  <us-gaap:ValuationAllowancesAndReservesDeductions id="Fact_f85d1baadd814de2bd63d69e31e512cb" contextRef="c20170101to20171231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember" unitRef="U001" decimals="-3">162000</us-gaap:ValuationAllowancesAndReservesDeductions>
  <!--Additions charged to income tax provision-Foreign Net Operating Loss Carryforwards [Member]-->
  <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense id="Fact_6c8a55e9f1264b0ab465dfbf001da85c" contextRef="c20190101to20191231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember" unitRef="U001" decimals="-3">54000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
  <!--Additions charged to income tax provision-Foreign Net Operating Loss Carryforwards [Member]-->
  <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense id="Fact_6f70b4ed3d084c97873c8703e82c5844" contextRef="c20180101to20181231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember" unitRef="U001" decimals="-3">62000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
  <!--Additions charged to income tax provision-Foreign Net Operating Loss Carryforwards [Member]-->
  <us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense id="Fact_d5ddbaa14907429791f0661a248190c4" contextRef="c20170101to20171231_ValuationAllowancesAndReservesTypeAxis_ValuationAllowanceOperatingLossCarryforwardsMember" unitRef="U001" decimals="-3">67000</us-gaap:ValuationAllowancesAndReservesChargedToCostAndExpense>
  <!--Weighted Average Number of Shares Outstanding, Basic-->
  <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic id="Fact_a332551ef2f342b0983d1b89685992bb" contextRef="c20180101to20181231" unitRef="U002" decimals="-3">7444000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
  <!--Weighted Average Number of Shares Outstanding, Basic-->
  <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic id="Fact_c74f9db1df6f4aa7ae80ac1eb8879c40" contextRef="c20170101to20171231" unitRef="U002" decimals="-3">7423000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
  <!--Weighted Average Number of Shares Outstanding, Basic-->
  <us-gaap:WeightedAverageNumberOfSharesOutstandingBasic id="Fact_eb644f1b780948a18b62c3005b65d4f5" contextRef="c20190101to20191231" unitRef="U002" decimals="-3">7466000</us-gaap:WeightedAverageNumberOfSharesOutstandingBasic>
  <!--Weighted Average Number of Shares Outstanding, Diluted-->
  <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding id="Fact_36453e3e440c48478bb3d6d2f7038c69" contextRef="c20190101to20191231" unitRef="U002" decimals="-3">7677000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
  <!--Weighted Average Number of Shares Outstanding, Diluted-->
  <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding id="Fact_3a9b889beac94f59b6e1a0c44f9b0ef6" contextRef="c20170101to20171231" unitRef="U002" decimals="-3">7592000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
  <!--Weighted Average Number of Shares Outstanding, Diluted-->
  <us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding id="Fact_d8f63c55d82a4b4e87e2671cf7fd7682" contextRef="c20180101to20181231" unitRef="U002" decimals="-3">7759000</us-gaap:WeightedAverageNumberOfDilutedSharesOutstanding>
  <!--Lessee, Operating Lease, Remaining Term of Contract-Minimum [Member]-->
  <tact:LesseeOperatingLeaseRemainingTermOfContract id="Fact_712438e133184e8f9c518bd5ef7fb1b8" contextRef="c20190101to20191231_RangeAxis_MinimumMember">P1Y</tact:LesseeOperatingLeaseRemainingTermOfContract>
  <!--Lessee, Operating Lease, Remaining Term of Contract-Maximum [Member]-->
  <tact:LesseeOperatingLeaseRemainingTermOfContract id="Fact_4ad7b83979e444d0871da9e12af3f6bb" contextRef="c20190101to20191231_RangeAxis_MaximumMember">P8Y</tact:LesseeOperatingLeaseRemainingTermOfContract>
  <!--Lessee, Operating Lease, Option to Terminate Term-Maximum [Member]-->
  <tact:LesseeOperatingLeaseOptionToTerminateTerm id="Fact_8c537d2c4aaf4ef0ab5fc4bf6761e998" contextRef="c20190101to20191231_RangeAxis_MaximumMember">P1Y</tact:LesseeOperatingLeaseOptionToTerminateTerm>
  <!--Note receivable, interest rate-->
  <tact:NoteReceivableInterestRate id="Fact_44c27d6649774c99b9211c6e25ef8f84" contextRef="c20191231" unitRef="U006" decimals="INF">0.0450</tact:NoteReceivableInterestRate>
  <!--Lessee, Operating Lease, Description [Table Text Block]-->
  <tact:LesseeOperatingLeaseDescriptionTableTextBlock id="Fact_3ad631c728b447fea7f61d0b3d2d0b76" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The following summarizes additional information related to our leases as of December 31, 2019:&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31, 2019&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 88%; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Weighted average remaining lease term (in years)&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;5.0&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 88%; background-color: #FFFFFF;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Weighted average discount rate&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;3.7&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #FFFFFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;%&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</tact:LesseeOperatingLeaseDescriptionTableTextBlock>
  <!--Lessee, Operating Lease, Supplemental Disclosure for Cash Flows [Table Text Block]-->
  <tact:LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock id="Fact_73f73629438c440caa8fdadf31bbd2db" contextRef="c20190101to20191231">&lt;div style="font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;&lt;div style="text-align: justify; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;The following information represents supplemental disclosure for the statement of cash flows related to operating leases (in thousands):&lt;/div&gt;&lt;div style="line-height: 10.25pt;"&gt;&lt;br style="line-height: 10.25pt;" /&gt;&lt;/div&gt;&lt;table cellpadding="0" cellspacing="0" style="font-family: 'Times New Roman', Times, serif; font-size: 9pt; text-align: left; color: #000000; width: 100%;"&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="2" valign="bottom" style="vertical-align: bottom; border-bottom: #000000 solid 2px;"&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;Year Ended&lt;/div&gt;&lt;div style="text-align: center; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt; font-weight: bold;"&gt;December 31, 2019&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; padding-bottom: 2px;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="bottom" style="vertical-align: bottom; width: 88%; background-color: #CCEEFF;"&gt;&lt;div style="text-align: left; line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;Operating cash outflows from leases&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;$&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" valign="bottom" style="vertical-align: bottom; text-align: right; width: 9%; background-color: #CCEEFF;"&gt;&lt;div style="line-height: 10.25pt; font-family: 'Times New Roman', Times, serif; font-size: 10pt;"&gt;1,031&lt;/div&gt;&lt;/td&gt;&lt;td colspan="1" nowrap="nowrap" valign="bottom" style="text-align: left; vertical-align: bottom; width: 1%; background-color: #CCEEFF;"&gt;&amp;#160;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/div&gt;</tact:LesseeOperatingLeaseSupplementalDisclosureForCashFlowsTableTextBlock>
  <!--Contract with Customer, Liability for Customer Prepayments, Current-->
  <tact:ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent id="Fact_133fb06426b846158538b3c1245b6d50" contextRef="c20181231" unitRef="U001" decimals="-3">50000</tact:ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent>
  <!--Contract with Customer, Liability for Customer Prepayments, Current-->
  <tact:ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent id="Fact_9f5ab3e2fdcb4f26ac92ee9f108349d5" contextRef="c20191231" unitRef="U001" decimals="-3">232000</tact:ContractWithCustomerLiabilityForCustomerPrepaymentsCurrent>
  <!--Term of free maintenance upon completion of software installation-->
  <tact:TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation id="Fact_63f10cfdabb144308836d7b77930b294" contextRef="c20190101to20191231">P1Y</tact:TermOfFreeMaintenanceUponCompletionOfSoftwareInstallation>
  <!--Financial Covenants, Eligible Inventory, Percentage-Siena Lending Group LLC [Member]-Subsequent Event [Member]-Revolving Credit Facility [Member]-->
  <tact:FinancialCovenantsEligibleInventoryPercentage id="Fact_ca701c7d4593437a80f56dd3918abb04" contextRef="c20200313_CreditFacilityAxis_RevolvingCreditFacilityMember_LineOfCreditFacilityAxis_SienaLendingGroupLLCMember_SubsequentEventTypeAxis_SubsequentEventMember" unitRef="U006" decimals="INF">0.5</tact:FinancialCovenantsEligibleInventoryPercentage>
  <!--Financial Covenants, Eligible Inventory-Subsequent Event [Member]-Revolving Credit Facility [Member]-Siena Lending Group LLC [Member]-->
  <tact:FinancialCovenantsEligibleInventory id="Fact_eff97c5b81bb4cd19175182c5e1305dd" contextRef="c20200313_CreditFacilityAxis_RevolvingCreditFacilityMember_LineOfCreditFacilityAxis_SienaLendingGroupLLCMember_SubsequentEventTypeAxis_SubsequentEventMember" unitRef="U001" decimals="0">5000000</tact:FinancialCovenantsEligibleInventory>
  <!--Financial Covenants, Eligible Accounts Receivable-Subsequent Event [Member]-Revolving Credit Facility [Member]-Siena Lending Group LLC [Member]-->
  <tact:FinancialCovenantsEligibleAccountsReceivable id="Fact_2514d577b7724d5588918bf21a2ebb2f" contextRef="c20200313_CreditFacilityAxis_RevolvingCreditFacilityMember_LineOfCreditFacilityAxis_SienaLendingGroupLLCMember_SubsequentEventTypeAxis_SubsequentEventMember" unitRef="U006" decimals="INF">0.85</tact:FinancialCovenantsEligibleAccountsReceivable>
  <!--Percentage of Closing Fee Payable on First Anniversary of Closing Date-Subsequent Event [Member]-Revolving Credit Facility [Member]-Siena Lending Group LLC [Member]-->
  <tact:PercentageOfClosingFeePayableOnFirstAnniversaryOfClosingDate id="Fact_0d5c7a72ac954aae9b06b1af9e4f6801" contextRef="c20200313_CreditFacilityAxis_RevolvingCreditFacilityMember_LineOfCreditFacilityAxis_SienaLendingGroupLLCMember_SubsequentEventTypeAxis_SubsequentEventMember" unitRef="U006" decimals="INF">0.5</tact:PercentageOfClosingFeePayableOnFirstAnniversaryOfClosingDate>
  <!--Percentage of Closing Fee Payable on Closing Date-Subsequent Event [Member]-Revolving Credit Facility [Member]-Siena Lending Group LLC [Member]-->
  <tact:PercentageOfClosingFeePayableOnClosingDate id="Fact_1a0338299b1e45cb8da91c5c84675deb" contextRef="c20200313_CreditFacilityAxis_RevolvingCreditFacilityMember_LineOfCreditFacilityAxis_SienaLendingGroupLLCMember_SubsequentEventTypeAxis_SubsequentEventMember" unitRef="U006" decimals="INF">0.5</tact:PercentageOfClosingFeePayableOnClosingDate>
  <!--Line of Credit Facility, Closing Fee Payable-Subsequent Event [Member]-Revolving Credit Facility [Member]-Siena Lending Group LLC [Member]-->
  <tact:LineOfCreditFacilityClosingFeePayable id="Fact_b009d7b789c04cf99166c9e2eb292161" contextRef="c20200313_CreditFacilityAxis_RevolvingCreditFacilityMember_LineOfCreditFacilityAxis_SienaLendingGroupLLCMember_SubsequentEventTypeAxis_SubsequentEventMember" unitRef="U001" decimals="-3">63000</tact:LineOfCreditFacilityClosingFeePayable>
  <!--Lessee, Operating Lease, Option to Extend Term-Maximum [Member]-->
  <tact:LesseeOperatingLeaseOptionToExtendTerm id="Fact_fd52e3e4dc12417fba007c3efa9c9220" contextRef="c20190101to20191231_RangeAxis_MaximumMember">P5Y</tact:LesseeOperatingLeaseOptionToExtendTerm>
  <!--Lessee, Operating Lease, Option to Extend Term-Subsequent Event [Member]-->
  <tact:LesseeOperatingLeaseOptionToExtendTerm id="Fact_16e1731f52e943d0bb4281c56e539383" contextRef="c20200228to20200228_SubsequentEventTypeAxis_SubsequentEventMember">P4Y</tact:LesseeOperatingLeaseOptionToExtendTerm>
  <!--Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Expirations, Weighted Average Grant Date Fair Value-Restricted Share Units [Member]-Equity Incentive Plan 2005 and Equity Incentive Plan 2014 [Member]-->
  <tact:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue id="Fact_9eaf0aea436d405caf0ab5677e8f610f" contextRef="c20190101to20191231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U003" decimals="0">0</tact:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExpirationsWeightedAverageGrantDateFairValue>
  <!--Share-based Compensation Arrangement by Share-based Payment Award, Equity Instruments Other than Options, Exercises in Period, Weighted Average Grant Date Fair Value-Restricted Share Units [Member]-Equity Incentive Plan 2005 and Equity Incentive Plan 2014 [Member]-->
  <tact:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue id="Fact_c54046be71014af3a39740b4a31fd186" contextRef="c20190101to20191231_AwardTypeAxis_RestrictedStockUnitsRSUMember_PlanNameAxis_EquityIncentivePlan2005AndEquityIncentivePlan2014Member" unitRef="U003" decimals="2">9.16</tact:ShareBasedCompensationArrangementByShareBasedPaymentAwardEquityInstrumentsOtherThanOptionsExercisesInPeriodWeightedAverageGrantDateFairValue>
  <!--Extended Product Warranty Period-Maximum [Member]-->
  <tact:ExtendedProductWarrantyPeriod id="Fact_b235a0e18afa4d288a15f139814502e1" contextRef="c20190101to20191231_RangeAxis_MaximumMember">P24M</tact:ExtendedProductWarrantyPeriod>
  <!--Line of Credit Facility, Loans Used to Fund Future Cash Dividend Payments or Treasury Share Buybacks-Revolving Credit Facility [Member]-TD Bank, N.A. [Member]-->
  <tact:LineOfCreditFacilityLoansUsedToFundFutureCashDividendPaymentsOrTreasuryShareBuybacks id="Fact_567a5b1a3e26400d9e362e5eae84c3f9" contextRef="c20171121_CreditFacilityAxis_RevolvingCreditFacilityMember_LineOfCreditFacilityAxis_TDBankNAMember" unitRef="U001" decimals="-5">12500000</tact:LineOfCreditFacilityLoansUsedToFundFutureCashDividendPaymentsOrTreasuryShareBuybacks>
  <!--Line of Credit Facility, Loans Used to Fund Future Cash Dividend Payments or Treasury Share Buybacks-TD Bank, N.A. [Member]-Revolving Credit Facility [Member]-->
  <tact:LineOfCreditFacilityLoansUsedToFundFutureCashDividendPaymentsOrTreasuryShareBuybacks id="Fact_fefbe6669b974e3c8d4cb9231be14124" contextRef="c20171120_CreditFacilityAxis_RevolvingCreditFacilityMember_LineOfCreditFacilityAxis_TDBankNAMember" unitRef="U001" decimals="-6">10000000</tact:LineOfCreditFacilityLoansUsedToFundFutureCashDividendPaymentsOrTreasuryShareBuybacks>
  <!--Effective Income Tax Rate Reconciliation, Miscellaneous Permanent Items, Percent-->
  <tact:EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent id="Fact_159de45afa9044b5aaff6b204763a604" contextRef="c20190101to20191231" unitRef="U006" decimals="3">0.014</tact:EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent>
  <!--Effective Income Tax Rate Reconciliation, Miscellaneous Permanent Items, Percent-->
  <tact:EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent id="Fact_8c509ddf65a74661b138a82e78113371" contextRef="c20180101to20181231" unitRef="U006" decimals="3">0.003</tact:EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent>
  <!--Effective Income Tax Rate Reconciliation, Miscellaneous Permanent Items, Percent-->
  <tact:EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent id="Fact_f8aa8f9bd1c94b81a9384152a1698817" contextRef="c20170101to20171231" unitRef="U006" decimals="3">-0.009</tact:EffectiveIncomeTaxRateReconciliationMiscellaneousPermanentItemsPercent>
  <!--Number of software solutions-->
  <tact:NumberOfSoftwareSolutions id="Fact_cc03a4f657d845a89ef62cc259043b4c" contextRef="c20191231" unitRef="U005" decimals="INF">2</tact:NumberOfSoftwareSolutions>
  <!--Share-based Compensation Arrangement by Share-based Payment Award, Number of primary stock incentive plans-->
  <tact:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfPrimaryStockIncentivePlans id="Fact_418e99fa3af3403e9abcae48a2f640f5" contextRef="c20190101to20191231" unitRef="U007" decimals="INF">2</tact:ShareBasedCompensationArrangementByShareBasedPaymentAwardNumberOfPrimaryStockIncentivePlans>
  <!--Share-based Compensation Arrangement by Share-based Payment Award, Fair Value Assumptions, Exercise Prices Of Options Granted Equals Percentage Of Fair Market Value Of Common Stock-Stock Options [Member]-->
  <tact:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePricesOfOptionsGrantedEqualsPercentageOfFairMarketValueOfCommonStock id="Fact_c737bde873584335ada6696560a15c52" contextRef="c20190101to20191231_AwardTypeAxis_EmployeeStockOptionMember" unitRef="U006" decimals="INF">1</tact:ShareBasedCompensationArrangementByShareBasedPaymentAwardFairValueAssumptionsExercisePricesOfOptionsGrantedEqualsPercentageOfFairMarketValueOfCommonStock>
</xbrl>
